我正在使用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'
},
答案 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;修复你得到的错误。