2013-03-26 12 views
35

so war ich nicht aufmerksam und lief dieses command-NPM nicht mehr arbeiten

npm install npm install jasmine-node -g 

, die diese verursacht -

npm http GET https://registry.npmjs.org/install 
npm http GET https://registry.npmjs.org/jasmine-node 
npm http GET https://registry.npmjs.org/npm 
npm http 200 https://registry.npmjs.org/install 
npm http GET https://registry.npmjs.org/install/-/install-0.1.7.tgz 
npm http 200 https://registry.npmjs.org/install/-/install-0.1.7.tgz 
npm http 200 https://registry.npmjs.org/jasmine-node 
npm http GET https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.4.0.tgz 
npm http 200 https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.4.0.tgz 
npm http 200 https://registry.npmjs.org/npm 
npm http GET https://registry.npmjs.org/npm/-/npm-1.2.15.tgz 
npm http 200 https://registry.npmjs.org/npm/-/npm-1.2.15.tgz 
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/install' 
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/install'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/usr/local/lib/node_modules/install', 
npm ERR! fstream_type: 'Directory', 
npm ERR! fstream_path: '/usr/local/lib/node_modules/install', 
npm ERR! fstream_class: 'DirWriter', 
npm ERR! fstream_stack: 
npm ERR! [ 'DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23)', 
npm ERR!  '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53', 
npm ERR!  'Object.oncomplete (fs.js:297:15)' ] } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 12.0.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "npm" "install" "jasmine-node" "-g" 
npm ERR! cwd /Users/psanker/Google Drive/Coding/Javascript/WhatsGoingOn 
npm ERR! node -v v0.8.17 
npm ERR! npm -v 1.2.0 
npm ERR! path /usr/local/lib/node_modules/install 
npm ERR! fstream_path /usr/local/lib/node_modules/install 
npm ERR! fstream_type Directory 
npm ERR! fstream_class DirWriter 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/install' 
npm ERR! fstream_stack DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23) 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53 
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15) 
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/jasmine-node' 
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/jasmine-node'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/usr/local/lib/node_modules/jasmine-node', 
npm ERR! fstream_type: 'Directory', 
npm ERR! fstream_path: '/usr/local/lib/node_modules/jasmine-node', 
npm ERR! fstream_class: 'DirWriter', 
npm ERR! fstream_stack: 
npm ERR! [ 'DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23)', 
npm ERR!  '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53', 
npm ERR!  'Object.oncomplete (fs.js:297:15)' ] } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 12.0.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "npm" "install" "jasmine-node" "-g" 
npm ERR! cwd /Users/psanker/Google Drive/Coding/Javascript/WhatsGoingOn 
npm ERR! node -v v0.8.17 
npm ERR! npm -v 1.2.0 
npm ERR! path /usr/local/lib/node_modules/jasmine-node 
npm ERR! fstream_path /usr/local/lib/node_modules/jasmine-node 
npm ERR! fstream_type Directory 
npm ERR! fstream_class DirWriter 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/jasmine-node' 
npm ERR! fstream_stack DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23) 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53 
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15) 
npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/npm' 
npm ERR! error rolling back [email protected] { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm'] 
npm ERR! error rolling back errno: 3, 
npm ERR! error rolling back code: 'EACCES', 
npm ERR! error rolling back path: '/usr/local/lib/node_modules/npm' } 
npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/npm' 
npm ERR! { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/usr/local/lib/node_modules/npm' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 12.0.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "npm" "install" "jasmine-node" "-g" 
npm ERR! cwd /Users/psanker/Google Drive/Coding/Javascript/WhatsGoingOn 
npm ERR! node -v v0.8.17 
npm ERR! npm -v 1.2.0 
npm ERR! path /usr/local/lib/node_modules/npm 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/npm' 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /Users/psanker/Google Drive/Coding/Javascript/WhatsGoingOn/npm-debug.log 
npm ERR! not ok code 0 

Jetzt, wenn ich versuche und laufen

npm install jasmine-node -g 

Ich bekomme

-bash: /usr/local/bin/npm: No such file or directory 

Was ist los?

+0

Wie haben Sie Knoten auf Ihrem Rechner installiert? – user568109

+0

Ich empfehle nicht zu installieren npm-Pakete als root/Administrator. Hier finden Sie einen alternativen Weg: https://coderwall.com/p/6aumug/howto-npm-global-install-without-root-privileges –

Antwort

30

selber ausprobiert.

Sie müssen erneut npm installieren. Wenn Sie git verwenden, ist dies der einfachste Weg:

git clone http://github.com/isaacs/npm.git 
cd npm 
sudo make install 

Ansonsten gibt es ein Installationsskript zu:

curl http://npmjs.org/install.sh | sh 

(möglicherweise müssen Sie sudo sh statt sh verwenden).

dann das Modul wieder installieren:

sudo npm install jasmine-node -g 

EDIT 23/01/2014:

Jetzt npm mit NodeJS selbst kommt, so dass nur NodeJs neu installieren.

+2

Ahh ja, da mein unixfoo schwach ist, habe ich 'sudo curl: //npmjs.org/install.sh | sh', die fehlgeschlagen ist. Mir war nicht klar, dass Piping eine weitere Schicht von "Sudo" benötigt! Danke – Michael

+0

@Michael fiel in diese Fallgrube auch mich;) – asgoth

+0

yup ... Neuinstallation von nodejs tat den Trick ... danke – beauXjames

10

Blick auf die Fehler

Please try running this command again as root/Administrator. 

Sie müssen dies laufen mit sudo

$ sudo npm install jasmine-node -g 
+0

Dies ist nicht die Ursache für den zweiten Fehler! – asgoth

+0

ähm, das gibt mir Sudo: npm: Befehl nicht gefunden – praks5432

+0

@ praks5432 'sudo' nicht gefunden? Nun, es tut mir leid, aber das ist die ganze Hilfe, die ich dir geben kann ... Ich habe keine Ahnung, was ich in diesem Fall tun soll. – romainberger

115

Wenn Sie npm install -g somepackage ausführen, erhalten Sie möglicherweise einen EACCES-Fehler, in dem Sie aufgefordert werden, den Befehl erneut als root/Administrator auszuführen. Es ist ein Berechtigungsproblem.

Es ist leicht zu beheben, öffnen Sie Terminal (Programme> Dienstprogramme> Terminal)

sudo chown -R $USER /usr/local 

** Ich empfehle Ihnen dringend, nicht mit sudo die Paketverwaltung zu verwenden (sudo npm -g etwas installieren) , weil Sie einige Probleme können später bekommen **

Referenz: http://foohack.com/2010/08/intro-to-npm/

** Update **

Der Grund dafür ist, dass dies zu Berechtigungen bei vielen anderen Apps führen kann, daher würde ich vorschlagen, dies nicht zu tun.

Eine bessere Lösung, wenn Sie global installieren:

sudo chown -R `whoami` ~/.npm 
+0

vielen Dank! – bobmoff

+6

Ich verstehe die Verwendung von separaten Benutzer vorteilhaft gegenüber Root-Zugriff. Trotzdem würde ich "sudo chown -R $ USER/usr/local" nicht empfehlen. Wie hier versuchen Sie, alles in/usr/local für $ USER zuzulassen. Ich möchte nicht, dass dieser spezielle $ USER alle Berechtigungen hat. Die Lösung sollte nur den genauen Ordner in/usr/local oder dem jeweiligen Speicherort finden und geben Sie nur das Recht von $ USER verwendet werden. Auch dies ist drastisch anfällig für Missbrauch. Eine andere Lösung, die ich bevorzuge, ist chmod das genaue Paket mit einigen zusätzlichen Berechtigungen für einzelne Benutzer. –

+2

nachdem ich das ausgeführt habe, bekomme ich 'command not found: npm' – pruett

6

Das ist für mich gearbeitet (OSX). Ich musste es in meinem Benutzerverzeichnis ausführen.

cd ~

curl -L http://npmjs.org/install.sh | sudo sh

0

konnte ich um die Probleme mit Berechtigungen erhalten, indem meine Pakete Einstellung lokal mit einem einzeiligen "$ HOME/.npmrc" Datei zu installieren:

prefix = $ {HOME} /. Npm_packages

Verwandte Themen