首页
Javascript
Html
Css
Node.js
Electron
移动开发
小程序
工具类
服务端
浏览器相关
前端收藏
其他
关于
公司注册

gulp4构建报错: Error: EPERM: operation not permitted, mkdir

2020年09月19日 发布 阅读(1880) 作者:Jerman

使用GULP4构建经常出现一个问题,

  1. Error: EPERM: operation not permitted, mkdir 'E:\data\project\css'
  2. `

或者会报错

  1. Error: ENOENT: no such file or directory, open 'E:\data\project\css\global.css'

原因是什么呢,网上搜索你会发现各种各样。。。

正常我们在构建前端项目时会先清除”./dist/“目录,类似如下的一个任务,下面任务会有什么问题吗?

  1. const del = require('del');
  2. /**
  3. * 清除目标文件夹文件
  4. * @param {*} done
  5. */
  6. function clean(cb) {
  7. del(['./rev/**', `${config.dist}/**`], { force: true });
  8. cb();
  9. }

上面代码,del其实是一个异步的,cb()可能在文件还没删除的时候就执行了,导致后续的文件操作跟clean的任务冲突,从而导致没有权限或创建文件夹不成功

修改为下面这样,问题解决

  1. const del = require('del');
  2. /**
  3. * 清除目标文件夹文件
  4. * @param {*} done
  5. */
  6. async function clean(cb) {
  7. await del(['./rev/**', `${config.dist}/**`], { force: true });
  8. cb();
  9. }

  1. const del = require('del');
  2. /**
  3. * 清除目标文件夹文件
  4. * @param {*} done
  5. */
  6. function clean(cb) {
  7. del.sync(['./rev/**', `${config.dist}/**`], { force: true });
  8. cb();
  9. }
版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处