我一直试图在我的项目上安装grunt,但没有运气。
这是运行npm install时得到的错误
npm WARN package.json XXX@1.0.0 No license field.
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! code EPEERINVALID
npm ERR! peerinvalid The package grunt does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer grunt-contrib-copy@0.8.2 wants grunt@>=0.4.0
npm ERR! peerinvalid Peer grunt-contrib-sass@0.9.2 wants grunt@>=0.4.0
npm ERR! peerinvalid Peer grunt-contrib-watch@0.6.1 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-mustache-render@1.9.0 wants grunt@^0.4.5
下面有'我的包json看起来像什么
{
"name": "XXX",
"version": "1.0.0",
"repository": {
"type": "git",
"url": "some git repo"
},
"devDependencies": {
"grunt-html-build": "^0.5.1",
"grunt-contrib-copy": "^0.8.0",
"grunt-contrib-sass": "^0.9.2",
"grunt-contrib-watch": "^0.6.1",
"grunt-mustache-render": "^1.9.0"
}
}
我已尝试过npm update -g但似乎没有什么事情发生。
npm --version说2.11.3
我认为我发现的唯一相关错误是我跑的时候
> npm list
├─┬ grunt@1.0.1 peer invalid
最后:npm ERR!对等无效:grunt@1.0.1
> grunt --version
grunt-cli v1.2.0
grunt v1.0.1
我需要重新安装grunt还是什么?我还没有找到一个命令。
感谢您的帮助!
答案 0 :(得分:6)
有些grunt-plugins尚未更新其对等依赖项要求,尚未使用1.0版本的grunt(1.0相当新)。您可以尝试删除对等依赖项要求,但这可能会有问题,具体取决于0.4.5和1.0之间的更改。 (0.4.5是1.0之前的最后一个版本)
首先尝试安装与插件兼容的grunt版本:npm install grunt@^0.4.5 --save-dev
答案 1 :(得分:0)
对于npm版本2,你应该有grunt版本0.4.5
" devDependencies":{ " grunt":" ^ 0.4.5" } 强>
如下所示,npm版本小于3,因此你应该有 grunt版本:^ 0.4.5 $ npm --version 2.15.11 强>
答案 2 :(得分:-1)
npm install的输出解释了一切都很好:
npm ERR! peerinvalid Peer grunt-contrib-copy@0.8.2 wants grunt@>=0.4.0
npm ERR! peerinvalid Peer grunt-contrib-sass@0.9.2 wants grunt@>=0.4.0
npm ERR! peerinvalid Peer grunt-contrib-watch@0.6.1 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-mustache-render@1.9.0 wants grunt@^0.4.5
要理解它,你需要理解这里解释的语义版本:
https://docs.npmjs.com/files/package.json#version
在这里
https://docs.npmjs.com/misc/semver
为了解决问题,您必须为阻止安装新grunt的软件包指定更灵活的版本号。
只需为所有grunt插件设置“> = 0.0.0”,其版本将与npm的grunt版本同步。
"devDependencies": {
"grunt-html-build": ">=0.0.0",
"grunt-contrib-copy": ">=0.0.0",
"grunt-contrib-sass": ">=0.0.0",
"grunt-contrib-watch": ">=0.0.0",
"grunt-mustache-render": ">=0.0.0"
}