安装gulp时我总是遇到同样的错误:
C:\Users\Thomas\Desktop\Sites CT Graphics\colpaertmarc.be>gulp
assert.js:350
throw err;
^
AssertionError [ERR_ASSERTION]:必须在Gulp.set [as _setTask]指定任务函数(C:\ Users \ Thomas \ Desktop \ Sites CT Graphics \ colpaertmarc.be \ node_modules \ undertaker \ lib \ set-task.js:10: 3)在Object的Gulp.task(C:\ Users \ Thomas \ Desktop \ Sites CT Graphics \ colpaertmarc.be \ node_modules \ undertaker \ lib \ task.js:13:8)。 (C:\ Users \ Thomas \ Desktop \ Sites CT Graphics \ colpaertmarc.be \ gulpfile.js:19:6)在Object.Module的Module._compile(internal / modules / cjs / loader.js:689:30)。在tryModuleLoad(internal / modules / cjs / loader.js)的Module.load(internal / modules / cjs / loader.js:599:32)中的_extensions..js(internal / modules / cjs / loader.js:700:10) :538:12)在Module.require(internal / modules / cjs / loader.js:637:17)的Function.Module._load(internal / modules / cjs / loader.js:530:3)at require(internal /模块/ CJS / helpers.js:22:18)
它似乎与Gulp V4有关,有两种选择:
要么
要降级,您需要更新您的package.json
"gulp": "^3.9.1",
然后删除node_module文件夹并重新安装npm软件包
rm -rf node_modules
npm install
将gulp版本从3. *升级到4. *后会发生此错误。如果你不想降级gulp,那么你将不得不重写gulp任务以使用v4 api有效。下面是如何将简单的gulp任务从v3中使用的api表示法重写为与v4兼容的表示法的示例。
var gulp = require('gulp');
// Deleting resources task
gulp.task('clearResources', function() {
console.log('Deleting resources');
});
// Default gulp task
gulp.task('default', ['clearResources'], function() {
console.log('Running default task');
});
var gulp = require('gulp');
// Delete resources function
function clearResources() {
console.log('Deleting resources');
};
// Gulp task(s)
exports.clear = clearResources;
exports.default = gulp.series(clearResources);