问题
运行gulp项目报错:
> Executing task: npx gulp dev <
[HPM] Proxy created: /services -> http://localhost:8081
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (D:\Projects\web\ptafrontGulp\node_modules\undertaker\lib\set-task.js:10:3)
at Gulp.task (D:\Projects\web\ptafrontGulp\node_modules\undertaker\lib\task.js:13:8)
at Object.<anonymous> (D:\Projects\web\ptafrontGulp\gulpfile.js:65:6)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at requireOrImport (D:\Projects\web\ptafrontGulp\node_modules\gulp-cli\lib\shared\require-or-import.js:19:11) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '=='
}
终端进程“C:\Windows\System32\cmd.exe /d /c npx gulp dev”已终止,退出代码: 1。
解决
gulp项目需要全局安装gulp和项目内安装gulp,通过 gulp -v 查看全局gulp 和本地项目的gulp版本:
D:\Projects\web\ptafrontGulp>gulp -v
CLI version: 2.3.0
Local version: 4.0.2
那么如果CLI 版本和 Local 版本不一致,我们可以修改cli版本或者Local版本来解决这个问题。
让 CLI version 也变成 4.0.2 版本,可执行命令:
$npm install -g gulp@4.0.2
让 Local version 变成 2.3.0 版本,可执行命令:
$yarn add -D gulp@2.3.0