0

我正在尝试使用 运行一个简单的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
  • 咕噜声-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/'}
        ]
    }
},

什么可能导致此错误?

4

1 回答 1

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 文档对 Grunt 的通配模式( , 等)有很好的解释***没有提到前导斜杠是一个问题。所以,我想我会把这个留给遇到这种问题的其他人。我希望它可以帮助别人。

于 2014-06-02T03:08:24.623 回答