「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
gulp v4には重大な変更があり、実行シーケンスパッケージにいくつかの問題が発生します。
Gulpfile.jsがないため、これまでのところ、実行シーケンスの代わりにgulpタスクでgulp.seriesとgulp.parallelを使用してみてください。
「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();
}));
重要なのはローカルバージョンだけです。 gulp 4.0.0に重大な変更が導入されたため、ローカルパッケージを明示的に動作バージョンに戻すために、私がやったことを単純に行うことができます。
npm install --save-dev [email protected]
これは最近私に数回噛みついたし、私は再びここに戻ってくるでしょう、私は確信しています。
注:gulp 3.9.1の依存関係には、多くのセキュリティ上の脆弱性があります。これを行うべきではありません。
同じ問題が発生し、gulp 3.9.1バージョンをインストールできませんでした。インストール後、4.0.0になりました。 -gと--save devに同じバージョンをインストールすると、hasTaskの問題が解決され、CLIおよびローカル用の3.9.1バージョンが提供されます。脆弱性を修正しないでください。ローカルで4.0.0に変更します。したがって、npm i gulp @3.9.1 -g
とnpm i gulp @3.9.1 --save-dev
をインストールするだけです