ubuntu - 类型错误:gulp.run 不是函数
问题描述
我计划备份/镜像我的 linux 主目录中的所有文件。
首先我在这里阅读:跳过 Gulp 的本地安装
我在我的 Linux 主目录中安装了所有内容:
sudo apt install npm
sudo npm install --global gulp-cli
npm link gulp
npm init
$ gulp
[07:32:43] Using gulpfile ~/gulpfile.js
[07:32:43] Starting 'default'...
[07:32:43] Finished 'default' after 1.24 ms
如果发生更改,它会启动、等待并在每次发生错误时发送:
类型错误:gulp.run 不是函数
var gulp = require('gulp');
gulp.task('backupHomeDir', function () {
return gulp.src('./*.js') // read all of the files that are in js with a .js extension
// .pipe(gulp.dest('dist/js')); // write to the dist/js file
.pipe(gulp.dest('/media/m/sdd2 ntfs/backup/home/'));
});
gulp.task('default', function () {
// watch for changes
gulp.watch('./*.js', function () {
gulp.run('backupHomeDir');
});
});
我可以开始
$ sudo gulp
或者
$ gulp
错误是一样的:
[12:32:19] Using gulpfile /home/m/gulpfile.js
[12:32:19] Starting 'default'...
[12:33:09] Starting '<anonymous>'...
[12:33:09] '<anonymous>' errored after 1.08 ms
[12:33:09] TypeError: gulp.run is not a function
at /home/m/gulpfile.js:22:12
at bound (domain.js:402:14)
at runBound (domain.js:415:12)
at asyncRunner (/usr/local/lib/node_modules/gulp/node_modules/async-done/index.js:55:18)
at process._tickCallback (internal/process/next_tick.js:61:11)
```
解决方案
第一次重制npm i
。第二个 gulp.run 已弃用,您只需使用gulp.watch()
并将任务数组设置为第二个参数而不是回调,在您的情况下:
gulp.watch('./*.js', ['default','backupHomeDir']);
完全的:
var gulp = require('gulp');
gulp.task('default', function () {
return gulp.src('./*.js') // read all
.pipe(gulp.dest('/media/m/sdd2 ntfs/backup/home/'));
});
gulp.watch('./*.js', gulp.series('default'));
推荐阅读
- docker - Docker `COPY` 文件到容器中不是持久的
- python - 计算图像顺序“流”中颜色变化的索引
- web-scraping - 使用 beautifulsoup 从 iframe 中获取价值
- r - 执行正确数据分析的步骤
- php - 表单操作正在刷新 html 页面,使其在域中生效
- php - 如何修复使用 file_get_html
- javascript - 在NodeJS中使用相同的参数在回调函数中调用父函数
- r - `tm` 包中的 `tm_map` 中的自定义函数
- css - 如何调整我的 blogspot 博客标题中的标题?
- haskell - optparse-applicative 非空字符串参数