5

gulp 认为它已经足够了,它在我的项目中死了。

当前版本

gulp -v
[11:26:35] CLI version 3.9.1
[11:26:35] Local version 4.0.0

如果我运行昨天工作的任务之一,我会收到以下错误:

C:\Program Files\nodejs\node_modules\gulp\bin\gulp.js:129 gulpInst.start.apply(gulpInst, toRun); ^

TypeError:无法在 C:\Program Files\nodejs\node_modules\gulp\bin\gulp.js:129:20 at process._tickCallback (internal/process/next_tick.js:61:11) 处读取未定义的属性“应用” Function.Module.runMain (internal/modules/cjs/loader.js:745:11) 在启动时 (internal/bootstrap/node.js:283:19) 在 bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

现在我到处都看到了这个错误,并尝试了很多方法来修复它

  1. 清除 node_module 并使用 rm -rf node_modules 和 npm i 安装
    • 从全局和本地包中卸载 gulp 和 gulp-cli
    • 之后我只在全局安装了 gulp-cli 并在 dev 本地安装了 gulp v4
  2. 关闭一切并重新启动计算机,希望有一个神奇的修复,没有运气

编辑:

也尝试了以下但没有成功

  1. 删除 package-lock.json 以强制重新创建
  2. 全局安装 gulp

什么工作

似乎存在一些问题,即 cli 版本未正确使用。如果我明确使用我的项目本地 node_modules 文件夹中的 gulp 文件,如下所示:

node ./node_modules/gulp/bin/gulp.js my-task

然后我的任务将运行并正常工作

什么不起作用

如果我使用以下命令:

gulp my-task

我得到这篇文章顶部引用的错误。

我不知道从哪里开始,我有一个解决方法,但是当我尝试使用 gulp 和 cli 的最新稳定版本时,我无法弄清楚为什么 gulp 会死在我身上。

4

1 回答 1

3

我最近刚刚从 Gulp 3 升级到 4,并且遇到了一个非常相似的问题 ( TypeError: Cannot read property 'task' of undefined)。显然,这是由方法的更改引起的,该方法(在版本 3 中)将在定义任务后task返回对对象本身的引用,但现在(在版本 4 中)不返回任何内容,因此在尝试链接时会导致此错误流利地完成任务。gulp

对我来说,解决方法是使用导出来重新创建我的gulpfile

由于您没有在原始问题中包含您的 gulpfile,我不知道这是否是您的问题,但是由于在我寻找从 v3 到 v4 的飞跃的一些指示时出现了这个问题,我想分享一下可能有用。

于 2019-03-21T00:09:56.817 回答