我正在尝试使用grunt
运行简单的grunt-contrib-copy
任务,但在到达复制任务时会立即死亡,并显示以下消息:
运行“copy:main”(复制)任务
警告:EPERM,不允许操作'C:\ Documents and Settings'使用--force继续
因警告而中止
我正在跑步:
C:\Documents and Settings
不存在)C:\nodejs
)我在C:\nodejs
和我的项目文件夹(C:\Users\myusername\Documents\Programming\myprojectname
上对“文档和设置”进行了全文搜索,其中没有空格或括号,但没有匹配。
我的copy
任务定义是:
copy: {
main: {
files: [
{expand: true, cwd: 'src/core', src: '/**', dest: 'src/chrome/'},
{expand: true, cwd: 'src/core', src: '/**', dest: 'src/firefox/'}
]
}
},
可能导致此错误的原因是什么?
答案 0 :(得分:9)
我修好了。问题是原始代码中的src: '/**'
属性。
我将其更改为此,现在它完美无缺:
copy: {
main: {
files: [
{expand: true, cwd: 'src/core', src: '**/*', dest: 'src/chrome/'},
{expand: true, cwd: 'src/core', src: '**/*', dest: 'src/firefox/'}
]
}
},
/**
src属性正在破坏它,**/*
正常工作。我对Grunt很新,所以我没有意识到以前的语法是个问题;我不知何故得到了它将被视为相对路径的印象。
在发布我的问题之前,我搜索了这个问题的答案。 Grunt文档有a good explanation of Grunt's globbing patterns (*
, **
, etc.),但它没有提到前导斜杠是个问题。所以,我想我会为遇到这种问题的其他人留下这个。我希望它可以帮助别人。