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

时间:2016-02-25 20:35:07

标签: gruntjs

我正在使用grunt构建我的角度项目。所以它运作良好,但在某些时候我无法运行' grunt serve'或者' grunt build'了。每次我收到以下错误消息

  

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

奇怪的是,我是唯一一个得到这个错误的人。我的所有同事都可以毫无错误地建立或服务。当然我找到了一个解决方案(使用' - force'),但我认为这不是解决方案,因为我是唯一一个遇到此错误的人。任何人都可以向我解释这个错误,并且可能是一个更好的解决方案,强制选项!

// Empties folders to start fresh
    clean: {
      dist: {
        files: [{
          dot: true,
          src: [
            '.tmp',
            '<%= yeoman.dist %>/{,*/}*',
            '!<%= yeoman.dist %>/.git{,*/}*'
          ]
        }]
      },
      server: '.tmp'
    }, 

3 个答案:

答案 0 :(得分:4)

对于好奇,这可能是由

引起的

https://github.com/gruntjs/grunt/issues/1469

这个问题对于节点5.7来说是个新问题,当我的同事们仍然使用5.6或更早版本时,我正打赌@threxx正在使用它。

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

答案 1 :(得分:3)

我编辑了我的Gruntfile.js如下:

// Empties folders to start fresh
clean: {
  options: {
    force: true
  },
  dist: {
    files: [{
      dot: true,
      src: [
        '.tmp',
        '<%= yeoman.dist %>/{,*/}*',
        '!<%= yeoman.dist %>/.git{,*/}*'
      ]
    }]
  },
  server: '.tmp'
},

答案 2 :(得分:1)

显然你必须使用任务的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'
}, 

那&#34;应该&#34;修复你得到的错误。