2013-02-14 13 views
29

Podczas księgowania to pytanie zorientowali się odpowiedź, ale będę pisać tutaj zarówno w przypadku pomaga kogoś innego, a może ktoś może pomóc z dlaczego, co się stało.npm problem peerDependency z grunt i Flatiron każdym

Kiedy biegnę:

sudo npm install -g grunt 

ostatnia część mówi:

/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 [email protected]~0.1.9 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~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 

Jak widać powyżej, jestem na węźle 0.8.19 i 1.2.9 KMP (najnowsze, które wynika z ppa: chris-lea na Ubuntu 12.10).

Inne rzeczy próbowałem:

  • zrobił to samo na świeżym Ubuntu zainstalować. Bez błędów. Wynik skryptu wygląda tak samo aż do ostatnich kilku linii błędu.
  • Uruchomiono "sudo npm cache clean" i próbowałem ponownie. Brak szczęścia.
  • Ran "listy npm" i nie było nic innego wymienione

Odpowiedz

59

Mój błąd nie został dołączenie -g na komendę LIST npm.

npm list -g 

Raz to zrobiłem, zobaczyłem moją listę zainstalowanych globalnie modułów (np altana, jshint, mocca), a na samym końcu:

npm ERR! peer invalid: [email protected] /usr/lib/node_modules/jitsu/node_modules/flatiron 
npm ERR! not ok code 0 

Wtedy wpadłem tego polecenia, aby sprawdzić, które używali flatiron:

npm list -g flatiron 

W tym przypadku było to jitsu, moduł, którego już nie używam. Przebiegłem

sudo npm uninstall -g jitsu 
sudo npm uninstall -g grunt 

A następnie uruchom ponownie oryginalne polecenie. Uwaga dla każdego, kto przyjdzie później na to pytanie: Prawidłowy moduł do ponownej instalacji gruntowej linii poleceń po release of 0.4 jest teraz, gdy zadałem oryginalne pytanie.

Gdybym rzeczywiście chciał zachować jitsu mogłem zaktualizowaną go zamiast odinstalowanie go (dzięki @BenAtkin):

npm install -g jitsu 

a następnie ponownie uruchom oryginalną polecenie. Zobacz this blog post about peerDependency being added in node 0.8.19, aby uzyskać więcej tła.

+0

Dzięki za pytanie i odpowiedź, szło orzechy próbuje zainstalować browserify, z tego samego błędu i tym samym module (jitsu) aprowizacji go. Naprawdę nie było dla mnie jasne, że problem dotyczy mojego środowiska, byłem przekonany, że problem polegał na przeglądarce, prawie podniosłem problem, zażenowanie zawiodło dzięki :) –

9

Jeśli nie masz nic przeciwko instalowaniu jitsu, możesz po prostu zaktualizować jitsu, co powinno zadziałać.

npm install -g jitsu 
npm install -g grunt-cli