EACCES:gulp css minify 权限被拒绝,相同的 src 和 dest

EACCES: permission denied on gulp css minify, same src and dest

我有一个 gulp 任务来构建为开发运行的所有内容(工作正常)。在发布 gulp 任务时,我们做同样的事情,但也增加了一个 bundle 任务,它也缩小了 css.

我只想缩小 css 内联,这意味着文件的 src 和 dest 相同;但是,当 运行.

时出现以下错误

Error: EACCES: permission denied, open

我认为我没有遇到任何竞争条件,因为我的构建任务在缩小开始之前显示为已完成

[15:11:48] Finished 'build_client_lib' after 3.31 s
[15:11:48] Starting 'build'...
[15:11:48] Finished 'build' after 1.67 μs
[15:11:48] Starting 'minify-css'...
[15:11:48] 'minify-css' errored after 344 ms

有问题的任务是:

gulp.task('release', callback => {
  gulpSequence('clean_packages', 'build', 'client_lib_bundle')(callback)
});

gulp.task('client_lib_bundle', ['minify-css'], () => {

});

gulp.task('minify-css', () => {
  return gulp.src('build/client_lib/**/*.css')
    .pipe(cleanCSS())
    .pipe(gulp.dest('build/client_lib'));
});

如果我指定备用目标路径,效果很好,但我不想这样做。我该如何解决这个访问问题?

原来我使用的包 gulpSequence 以笨拙的异步方式导致了这个,以及一系列其他项目 运行。更改为 npm 包 run-sequence 清除了所有这些并确保一切都 运行 以正确的顺序排列。