当我运行"gulp"时,我得到以下内容.看起来我有一个混合的CLI和本地版本,不确定如何解决这个问题.
cabox@box-codeanywhere:~/workspace/apps/web-ui$ gulp -v
[22:44:23] CLI version 2.0.1
[22:44:23] Local version 4.0.0
cabox@box-codeanywhere:~/workspace/apps/web-ui$
cabox@box-codeanywhere:~/workspace/apps/web-ui$
cabox@box-codeanywhere:~/workspace/apps/web-ui$ gulp
[22:44:28] Using gulpfile ~/workspace/apps/web-ui/gulpfile.js
[22:44:28] Starting 'default'...
[22:44:28] 'default' errored after 5.41 ms
[22:44:28] TypeError: gulp.hasTask is not a function
at /home/cabox/workspace/apps/web-ui/node_modules/run-sequence/index.js:23:22
at Array.forEach (<anonymous>)
at verifyTaskSets (/home/cabox/workspace/apps/web-ui/node_modules/run-sequence/index.js:17:11)
at runSequence (/home/cabox/workspace/apps/web-ui/node_modules/run-sequence/index.js:130:2)
at /home/cabox/workspace/apps/web-ui/gulpfile.js:187:5
at taskWrapper (/home/cabox/workspace/apps/web-ui/node_modules/undertaker/lib/set-task.js:13:15)
at bound (domain.js:301:14)
at runBound (domain.js:314:12)
at asyncRunner (/home/cabox/workspace/apps/web-ui/node_modules/async-done/index.js:55:18)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
cabox@box-codeanywhere:~/workspace/apps/web-ui$ ^C
Run Code Online (Sandbox Code Playgroud)
Sau*_*ati 37
gulp v4发生了重大变化,并且在运行顺序包中产生了一些问题.
因为我没有你的gulpfile.js,所以我只能尝试使用gulp.series和gulp.parallel与你的gulp任务而不是run-sequence
您可能会收到类似'task1'的错误,'task2'无法完成',在任务的功能中,接受完成的回调并在函数结束时调用您的任务中的回调
例:
gulp.task('task1', gulp.series('task1-1', function (done) {
// task 1 code here
done();
}));
gulp.task('task2', gulp.series('task2-1', function (done) {
// task 2 code here
done();
}));
// Similarly Tasks 3 and 4 Code here
gulp.task('main', gulp.series('task1', 'task2', 'task3', 'task4', function (done) {
done();
}));
Run Code Online (Sandbox Code Playgroud)
May*_*lam 25
SAURABH帕蒂的回答是的答案。顺便说一句,一个快速的解决方法是用gulp4-run-sequence包替换run-sqeuence包。
如果您的项目在本地安装了 Gulp,请删除本地版本的 Gulp:
yarn remove gulp
Run Code Online (Sandbox Code Playgroud)
然后打开package.json
并替换"run-sequence": "^0.3.6",
为
"gulp4-run-sequence": "^1.0.0",
Run Code Online (Sandbox Code Playgroud)
现在运行
yarn install
Run Code Online (Sandbox Code Playgroud)
在您的Gulpfile.js
,替换runSequence = require('run-sequence'),
为
runSequence = require('gulp4-run-sequence'),
Run Code Online (Sandbox Code Playgroud)
而且,你已经完成了。:)
dvd*_*rgn 24
重要的是本地版本.由于gulp 4.0.0引入了重大更改,您可以简单地执行我所做的操作---将本地软件包显式设置回工作版本:
npm install --save-dev gulp@3.9.1
Run Code Online (Sandbox Code Playgroud)
我最近有几次咬我,我会再次回到这里,我敢肯定.
注意:gulp 3.9.1的依赖性存在许多安全漏洞.你不应该这样做.
归档时间: |
|
查看次数: |
20917 次 |
最近记录: |