LoginSignup
19
16

More than 5 years have passed since last update.

npm installでpeerinvalidエラーが出た時の解消方法

Posted at

npm installコマンドでnpmのモジュールをインストールする際に、依存ライブラリのバージョンが解決しきれなくてエラーになる場合があります。
今日私の環境で起きた例です。

package.json
{
  "name": "~~~~~~",
  "version": "0.0.0",
  "description": "test",
  "main": "Gruntfile.js",
  "directories": {
    "doc": "docs"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "~~~~~~~~",
  "dependencies": {
    "handlebars": "~1.1.2",
    "ember-template-compiler": "~1.3.0-beta.2",
    "grunt": "~0.4.1",
    "grunt-ember-templates": "~0.4.18",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-karma": "~0.6.2",
    "karma": "~0.10.0",
    "karma-requirejs": "~0.2.0",
    "karma-mocha": "~0.1.1",
    "karma-chai": "0.0.2",
    "karma-junit-reporter": "~0.2.1"
  }
}

上記ファイルがあるディレクトリにて、npm installと実行した結果、下記エラーが出力されました。

npm ERR! peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer grunt-karma@0.6.2 wants karma@~0.10.0
npm ERR! peerinvalid Peer karma-requirejs@0.2.2 wants > karma@>=0.9
npm ERR! peerinvalid Peer karma-mocha@0.1.4 wants karma@>=0.12.8
npm ERR! peerinvalid Peer karma-chai@0.0.2 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-junit-reporter@0.2.2 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-chrome-launcher@0.1.4 wants karma@>=0.9.3
npm ERR! peerinvalid Peer karma-firefox-launcher@0.1.3 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-html2js-preprocessor@0.1.0 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-jasmine@0.1.5 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-script-launcher@0.1.0 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-coffee-preprocessor@0.1.3 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-phantomjs-launcher@0.1.4 wants karma@>=0.9

この場合、1行目でkarmaがどのバージョンを使うべきか解決しきれないことが分かります。
2行目以降に、どのライブラリがkarmaのどのバージョン(以降)を使用するかが出力されますので、一つ一つ確認します。
今回のケースですと、下記のkarma-mochaがkarmaのバージョンで唯一0.12系を求めていることが分かります。karma-mochaのバージョンを、karmaの要求バージョンが0.9系のものに下げることで解決しました。

npm ERR! peerinvalid Peer karma-mocha@0.1.4 wants karma@>=0.12.8

npm install したときにpeerinvailedと怒られたときの対応 という記事もあり、こちらでは既存のgenerator-angularが要求するgenerator-karmaが古かったので、generator-karma側を合わせた、という対処方法になっています。

同様のエラーが起きた場合の参考になれば幸いです。

19
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
16