不允许使用EPERM操作的grunt-contrib-copy模块"C:\ Documents and Settings"

eli*_*ide 0 node.js gruntjs grunt-contrib-copy

我正在尝试grunt使用一个简单的任务grunt-contrib-copy,但它在到达复制任务时立即死亡,并显示以下消息:

运行"copy:main"(复制)任务

警告:EPERM,不允许操作'C:\ Documents and Settings'使用--force继续

因警告而中止

我在跑步:

  • Windows 7 64位(所以C:\Documents and Settings不存在)
  • 节点0.10.28(安装在C:\nodejs)
  • npm 1.4.9
  • grunt-cli 0.1.13
  • 咕噜0.4.5
  • grunt-contrib-copy 0.5.0

我在两个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/'}
        ]
    }
},
Run Code Online (Sandbox Code Playgroud)

可能导致此错误的原因是什么?

eli*_*ide 9

我修好了它.问题是src: '/**'原始代码中的属性.

我把它改成了这个,现在它完美地工作了:

copy: {
    main: {
        files: [
            {expand: true, cwd: 'src/core', src: '**/*', dest: 'src/chrome/'},
            {expand: true, cwd: 'src/core', src: '**/*', dest: 'src/firefox/'}
        ]
    }
},
Run Code Online (Sandbox Code Playgroud)

/**SRC属性被打破它,并**/*正常工作.我对Grunt很新,所以我没有意识到以前的语法是个问题; 我不知何故得到了它被视为相对路径的印象.

在发布我的问题之前,我搜索了这个问题的答案.繁重的文档具有的步兵的匹配模式(一个很好的解释*,**等等),但它并没有提到斜线开头是一个问题.所以,我想我会为遇到这种问题的其他人留下这个.我希望它可以帮助别人.