每次我 运行 gulp 或 gulp 构建本地时,我都会得到 AssertionError [ERR_ASSERTION]: Task never defined: build

Everytime I run gulp or gulp build local i get AssertionError [ERR_ASSERTION]: Task never defined: build

我正在尝试 运行 gulp 在我的终端中,我得到了这个断言错误。我卸载了 node 和 NPM,然后使用 brew 重新安装。 npm 版本是 6.13.4 节点版本 v12.14.1

我的系统是 MacOS Catalina 10.15.2

终端错误

gulp build
assert.js:374
    throw err;
    ^

AssertionError [ERR_ASSERTION]: Task never defined: build
    at getFunction (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/undertaker/lib/helpers/normalizeArgs.js:15:5)
    at map (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/arr-map/index.js:20:14)
    at normalizeArgs (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/undertaker/lib/helpers/normalizeArgs.js:22:10)
    at Gulp.series (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/undertaker/lib/series.js:13:14)
    at Object.<anonymous> (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/gulpfile.js:13:26)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Module.require (internal/modules/cjs/loader.js:848:19) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: undefined,
  expected: true,
  operator: '=='
}
var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var browserSync = require('browser-sync').create(); 

gulp.task('sass', function() { 
  return gulp.src('./sass/main.sass')
   .pipe(sass().on('error', sass.logError))
   .pipe(gulp.dest('./css'))
   .pipe(browserSync.stream());
}); 

// Starts a BrowerSync instance 
gulp.task('server', gulp.series('build', 
   function(){ browser.init({server: './_site', port: port}); 

gulp.watch("./sass/main.sass", ['sass']); 
gulp.watch("./*.html").on('change', browserSync.reload); })); 
gulp.task('default', ['serve']);

package.json:

{ 
  "name": "bulma-npm",
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "author": "",
   "license": "ISC",
   "dependencies":
     {
       "bulma": "^0.8.0"
     },
   "devDependencies":
     { 
       "browser-sync": "^2.26.7",
       "gulp": "^4.0.2",
       "gulp-sass": "^4.0.2"
     }
 }

由于您使用的是 gulp v4,此语法不正确:

gulp.watch("./sass/main.sass", ['sass']); 

gulp.task('default', ['serve']);

即gulp v3语法。将其更改为:

gulp.watch("./sass/main.sass", gulp.series('sass')); 

gulp.task('default', gulp.series('serve'));

并查看从 gulp v3 到 v4 的迁移指南。有很多 v3 的教程和代码,但不适用于 v4。