Gruntjs 无法删除当前工作目录Grunt之外的文件

Gruntjs 无法删除当前工作目录Grunt之外的文件,gruntjs,Gruntjs,我正在使用grunt构建我的angular项目。所以它工作得很好,但在某个时候我不能再运行“咕噜服务”或“咕噜构建”。每次我收到以下错误消息时 无法删除当前工作目录之外的文件 奇怪的是,我是唯一一个犯这个错误的人。我的所有同事都可以毫无错误地构建或服务。当然,我找到了一个解决方案(使用'--force'),但我认为这不是解决方案,因为我是唯一一个得到这个错误的人。任何人都可以向我解释这个错误,也许给我一个更好的解决方案,武力选项 // Empties folders to start fresh

我正在使用grunt构建我的angular项目。所以它工作得很好,但在某个时候我不能再运行“咕噜服务”或“咕噜构建”。每次我收到以下错误消息时

无法删除当前工作目录之外的文件

奇怪的是,我是唯一一个犯这个错误的人。我的所有同事都可以毫无错误地构建或服务。当然,我找到了一个解决方案(使用'--force'),但我认为这不是解决方案,因为我是唯一一个得到这个错误的人。任何人都可以向我解释这个错误,也许给我一个更好的解决方案,武力选项

// Empties folders to start fresh
    clean: {
      dist: {
        files: [{
          dot: true,
          src: [
            '.tmp',
            '<%= yeoman.dist %>/{,*/}*',
            '!<%= yeoman.dist %>/.git{,*/}*'
          ]
        }]
      },
      server: '.tmp'
    }, 
//清空文件夹以重新开始
清洁:{
地区:{
档案:[{
多特:没错,
src:[
“.tmp”,
'/{,*/}*',
“!/.git{,*/}*”
]
}]
},
服务器:'.tmp'
}, 

显然,您必须使用任务的
force
选项(而不是grunt的--force选项)来允许grunt contrib clean删除cwd之外的文件

现在,在测试之前,我建议您在测试环境中尝试它,因为与许多grunt任务不同,grunt contrib clean是破坏性的,您已经收到警告

clean: {
  dist: {
    files: [{
      dot: true,
->    force: true,
      src: [
        '.tmp',
        '<%= yeoman.dist %>/{,*/}*',
        '!<%= yeoman.dist %>/.git{,*/}*'
      ]
    }]
  },
  server: '.tmp'
}, 
clean:{
地区:{
档案:[{
多特:没错,
->原力:没错,
src:[
“.tmp”,
'/{,*/}*',
“!/.git{,*/}*”
]
}]
},
服务器:'.tmp'
}, 

“应该”可以修复您遇到的错误。

我对Gruntfile.js进行了如下编辑:

// Empties folders to start fresh
clean: {
  options: {
    force: true
  },
  dist: {
    files: [{
      dot: true,
      src: [
        '.tmp',
        '<%= yeoman.dist %>/{,*/}*',
        '!<%= yeoman.dist %>/.git{,*/}*'
      ]
    }]
  },
  server: '.tmp'
},
//清空文件夹以重新开始
清洁:{
选项:{
原力:对
},
地区:{
档案:[{
多特:没错,
src:[
“.tmp”,
'/{,*/}*',
“!/.git{,*/}*”
]
}]
},
服务器:'.tmp'
},

对于好奇的人来说,这可能是由

节点5.7是一个新问题,我打赌@threxx正在使用节点5.7,而她的同事还在使用5.6或更早版本


在合并问题的PR之前,
force
标志是一个很好的解决方法。

使用--force不应处理删除,它只会继续执行其他任务。你能证实这一点吗?另外,你使用什么grunt插件进行删除,你能提供你的gruntfile代码吗?是的,我将编辑我的帖子,以显示grunt clean任务,但是这是基本的yeoman代码,没有任何更改。你在哪个操作系统上?你能用
-verbose
选项运行任务并在这里转储控制台日志吗。thxOSX是最新的。在一分钟内粘贴哑巴对我来说不起作用,所以我在“clean”开始后添加了“options:{force:true}”。