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:无法读取未定义的属性“ apply” 在C:\ Program Files \ nodejs \ node_modules \ gulp \ bin \ gulp.js:129:20 在process._tickCallback(内部/进程/next_tick.js:61:11) 在Function.Module.runMain(内部/模块/cjs/loader.js:745:11) 在启动时(internal / bootstrap / node.js:283:19) 在bootstrapNodeJSCore(internal / bootstrap / node.js:743:3)
现在我到处都看到了这个错误,并尝试了很多方法来解决它
也尝试了以下失败的尝试
似乎没有正确使用cli版本的问题。 如果我明确使用项目本地node_modules文件夹中的gulp文件,如下所示:
node ./node_modules/gulp/bin/gulp.js my-task
然后我的任务将运行并正常工作
如果我使用以下命令:
gulp my-task
我得到这篇文章顶部引用的错误。
我不确定从这里去哪里,我有一种解决方法,但是当我尝试同时使用最新稳定版本的gulp和cli时,无法弄清楚为什么gulp快死了。
答案 0 :(得分:1)
我最近刚从Gulp 3升级到4,并且遇到了非常相似的问题(TypeError: Cannot read property 'task' of undefined
)。显然,这是由于task
方法的更改引起的,该方法(在版本3中)将在定义任务后返回对gulp
对象本身的引用,但现在(在版本4中)返回{ {3}},从而在尝试流畅地链接任务时导致此错误。
对我来说,解决方法是重新创建gulpfile nothing。
由于您没有在原始问题中包括您的gulpfile,所以我不知道这是否是您的问题,但是由于这个问题是在我寻找一些实现从v3到v4的指针时提出的,我认为分享可能会有用。