この質問を投稿しているときに答えを見つけましたが、誰かに役立つ場合に備えて、ここに両方を投稿します。おそらく誰かがwhy起こった。
私が走ると:
Sudo npm install -g grunt
それの最後の部分は言う:
/usr/bin/grunt -> /usr/lib/node_modules/grunt/bin/grunt
npm ERR! peerinvalid The package flatiron does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] wants flatiron@~0.1.9
npm ERR! peerinvalid Peer [email protected] wants flatiron@~0.1.9
npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "nodejs" "/usr/bin/npm" "install" "-g" "grunt"
npm ERR! cwd /home/explunit
npm ERR! node -v v0.8.19
npm ERR! npm -v 1.2.9
npm ERR! code EPEERINVALID
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/explunit/npm-debug.log
npm ERR! not ok code 0
上記を見るとわかるように、私はノード0.8.19とnpm 1.2.9(Ubuntu 12.10のppa:chris-leaから取得した最新のもの)を使用しています。
私が試した他のこと:
私の間違いは、npm listコマンドに-gを追加することではありませんでした。
npm list -g
これを実行すると、グローバルにインストールされたモジュール(bower、jshint、mochaなど)のリストが表示され、最後に次のように表示されます。
npm ERR! peer invalid: [email protected] /usr/lib/node_modules/jitsu/node_modules/flatiron
npm ERR! not ok code 0
次に、このコマンドを実行して、flatironを使用しているコマンドを確認しました。
npm list -g flatiron
この場合、私がもう使用していないモジュールであるjitsuでした。私は走った
Sudo npm uninstall -g jitsu
Sudo npm uninstall -g grunt
その後、元のコマンドを再度実行しました。 この質問に後で来る人への注意: .4のリリース の後にグローバルにgruntコマンドラインを再インストールするための正しいモジュールはgrunt-cli
、元の質問をしたときのようなgrunt
ではありません。
実際にjitsuを保持したい場合は、アンインストールする代わりに更新することができます(@BenAtkinに感謝):
npm install -g jitsu
その後、元のコマンドを再度実行します。詳細については、 ノード0.8.19に追加されるpeerDependencyに関するこのブログ投稿 を参照してください。
Jitsuをインストールしたままにしてもかまわない場合は、jitsuをアップグレードするだけで問題ありません。
npm install -g jitsu
npm install -g grunt-cli