npm依赖项不满意(即使它们应该是?)

时间:2016-04-06 18:29:36

标签: javascript node.js npm gruntjs

我觉得我必须在这里忽略一些东西。

当尝试在现有项目上运行npm install时,我收到以下错误(来自npm-debug.log):

76 error Windows_NT 6.1.7601
77 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
78 error node v4.4.2
79 error npm  v2.15.0
80 error code EPEERINVALID
81 error peerinvalid The package grunt@0.4.2 does not satisfy its siblings' peerDependencies requirements!
81 error peerinvalid Peer grunt-concurrent@0.4.3 wants grunt@~0.4.0
81 error peerinvalid Peer grunt-contrib-sass@0.8.1 wants grunt@>=0.4.0
81 error peerinvalid Peer grunt-autoprefixer@2.0.0 wants grunt@~0.4.2
81 error peerinvalid Peer grunt-webfont@0.5.4 wants grunt@~0.4.0
81 error peerinvalid Peer grunt-purifycss@0.1.1 wants grunt@~0.4.5
82 verbose exit [ 1, true ]

据我所知,grunt@0.4.2应该满足所有这些依赖关系。

this StackOverflow question开始,我的理解是这些包依赖于以下内容:

  • grunt-concurrent@0.4.3需要grunt@~0.4.0(即grunt@0.4。*)
  • grunt-contrib-sass@0.8.1想要grunt @> = 0.4.0
  • grunt-autoprefixer@2.0.0想要grunt@~0.4.2(即grunt@0.4。*)
  • grunt-webfont@0.5.4想要grunt@~0.4.0(即grunt@0.4。*)
  • Peer grunt-purifycss@0.1.1想要grunt@~0.4.5(即grunt@0.4。*)

grunt@0.4.2应该匹配所有这些依赖项,但是npm表示它没有安装失败。有什么我可以忽略的吗?

根据要求,我的package.json文件:

{
  "name": "glasses-1",
  "siteUrl": "http://www.glasses.com/",
  "version": "0.0.1",
  "dependencies": {
    "adaptivejs": "1.3.0",
    "connect": "2.3.4",
    "grunt": "0.4.2",
    "grunt-concurrent": "0.4.3",
    "mocha": "1.14.0",
    "chai": "1.9.0",
    "lodash": "~2.4.1",
    "grunt-contrib-sass": "0.8.1",
    "grunt-autoprefixer": "2.0.0"
  },
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-purifycss": "^0.1.0",
    "grunt-sass": "^1.1.0",
    "grunt-webfont": "^0.5.1",
    "gulp-sass": "^2.1.0"
  },
  "description": "This repository contains the code for the glasses-1 Adaptive.js project.",
  "main": "Gruntfile.js",
  "directories": {
    "test": "tests"
  },
  "scripts": {
    "test": "mocha"
  },
  "author": "",
  "license": "ISC"
}

1 个答案:

答案 0 :(得分:1)

81 error peerinvalid Peer grunt-purifycss@0.1.1 wants grunt@~0.4.5来自倒数第二行

所以你需要grunt@0.4.5而不是0.4.2