从一组gulp任务运行时,NPM del抛出ENOTEMPTY错误

时间:2015-01-29 13:01:38

标签: node.js gulp

我在gulpfile.js中有一个任务列表。其中一个是cleandel支持

gulp.task('clean', function (cb) {
    del([
        'dist/**'
    ], cb);
});

在队列中执行:

gulp.task('default', ['clean', 'templates', 'styles']);

当我将它作为单个任务运行时,如gulp clean,它可以正常工作并按预期删除整个文件夹。

当我只运行gulp来运行默认任务集时,它会抛出这个:

[15:55:45] 'clean' errored after 136 ms
[15:55:45] Error: ENOTEMPTY, rmdir '/Users/sergeybasharov/WebstormProjects/myproject/dist'

如何避免它并根据需要清理文件夹?我应该对回调做些什么,比如把剩下的任务放进去吗?

1 个答案:

答案 0 :(得分:9)

我知道这有点旧,但我刚遇到这个问题。

对我来说,问题与依赖关系有关。在开始我的复制任务之前,Gulp不知道等待我的清理任务。

在快速阅读running tasks in series上的gulp文档之后,显然我必须将我的“干净”任务添加为任何可以进入其中的任务的依赖项,如复制或连接。