【问题标题】:gulp 4 version problem causes all tasks to failgulp 4 版本问题导致所有任务失败
【发布时间】:2019-03-21 08:09:56
【问题描述】:

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 在 process._tickCallback (internal/process/next_tick.js:61:11) 在 Function.Module.runMain (internal/modules/cjs/loader.js:745:11) 启动时(内部/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 会死在我身上。

【问题讨论】:

  • gulp-cli 是一些 npm 模块,可以让您从 Node 运行 gulp 命令行命令?我认为您需要在全球范围内安装 gulp。你说你只在全球范围内安装了 gulp-cli,如果我理解你的问题,这似乎并不相关。试试npm install -g gulp,然后再做一次
  • 哦,我想我没有误解。看起来 gulp 带有 gulp-cli (它是一个依赖项),这最终是从命令行运行时使用的。也许我的建议不会奏效,尽管我之前已经看到它对这个问题有效
  • @pushkin 全局添加 gulp 并没有解决问题,谢谢
  • 也许你已经尝试过这里的一切,但是here

标签: node.js npm gulp gulp-4


【解决方案1】:

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

我的解决方法是重新创建我的 gulpfile using exports instead

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2020-07-27
    • 2015-10-08
    相关资源
    最近更新 更多