如何解决gulp-shell插件执行rm命令报错的问题?
解决Gulp任务中
rm命令未识别的问题 问题原因
你在Windows系统上执行Gulp任务时,任务里用到了Unix/Linux环境下的rm命令,而Windows原生终端不支持该命令,导致执行失败。
解决方案
1. 使用跨平台文件删除工具(推荐)
安装rimraf(跨平台的rm -rf替代工具):
npm install rimraf --save-dev
修改你的Gulp任务代码,替换原有的shell命令:
const rimraf = require('rimraf'); gulp.task('clear', function(done) { // 执行删除操作,完成后调用done回调 rimraf('./public/index.html ./public/testem.js', done); });
也可以使用gulp-rimraf插件,写法更贴合Gulp流:
npm install gulp-rimraf --save-dev
const rimraf = require('gulp-rimraf'); gulp.task('clear', function() { return gulp.src(['./public/index.html', './public/testem.js'], { read: false }) .pipe(rimraf()); });
2. 在Git Bash中执行Gulp命令
如果你已经安装了Git,打开Git Bash终端,在项目目录下执行gulp server命令。Git Bash内置了Unix风格的命令集,支持rm。
3. 替换为Windows原生命令(不推荐跨项目使用)
将任务中的rm -rf ./public/index.html ./public/testem.js替换为Windows的del命令:
del /f /s /q ./public/index.html ./public/testem.js
注:该命令仅适用于Windows环境,跨平台项目不建议使用。
内容的提问来源于stack exchange,提问作者Shubham Angne
相关产品推荐
相关产品推荐

