Grunt不会在我的项目上安装

时间:2016-05-18 07:59:18

标签: npm gruntjs npm-install

我一直试图在我的项目上安装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还是什么?我还没有找到一个命令。

感谢您的帮助!

3 个答案:

答案 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"
  }