8 Stimmen

Fehler bei der Installation von npm für Node.js

Ich habe einen Versuch, Node.js zu lernen und ich habe ein paar Probleme bei der Installation von NPM (Node Package Manager). Ich bin mir ziemlich sicher, dass es entweder an den Berechtigungen oder an den Ordnern liegt... bitte beachten Sie, dass ich mir gerade einen Mac gekauft habe (ich habe mein ganzes Leben lang Windows benutzt) und ich mit dem Mac-Terminal nicht vertraut bin.

Okay, ich habe die Einzeleinrichtung für NPM verwendet: curl [http://npmjs.org/install.sh](http://npmjs.org/install.sh) | sh und ich bekam eine Fehlermeldung...

All clean!
! [ -d .git ] || git submodule update --init --recursive
node cli.js rm npm -g -f
node cli.js install -g -f
npm ERR! Could not create /usr/local/lib/node_modules/___npm.npm
npm ERR! error installing npm@1.0.94 Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Darwin 11.0.0
npm ERR! command "node" "/private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/cli.js" "install" "-g" "-f"
npm ERR! cwd /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package
npm ERR! node -v v0.5.9-pre
npm ERR! npm -v 1.0.94
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCESS
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/npm-debug.log
npm not ok
make: *** [install] Error 1
npm ERR! Could not create /usr/local/lib/node_modules/___npm.npm
npm ERR! error installing npm@1.0.94 Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Darwin 11.0.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/cli.js" "install" "-gf"
npm ERR! cwd /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package
npm ERR! node -v v0.5.9-pre
npm ERR! npm -v 1.0.94
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCESS
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/npm-debug.log
npm not ok
It failed

es ist offensichtlich ein Ordner Problem hier, vielleicht bin ich in den falschen Ort zu installieren, mein Knoten-Ordner ist bei Users/Mike/node, wenn ich versuche, herauszufinden, meine Knoten-Pfad-Variable mit NODE_PATH erhalte ich den folgenden Fehler:

Michaels-MacBook-Pro:~ Mike$ node node/NODE_PATH  

node.js:203
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module '/Users/Mike/node/NODE_PATH'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Array.<anonymous> (module.js:470:10)
    at EventEmitter._tickCallback (node.js:195:26)

Kann mir bitte jemand sagen, was ich falsch mache? Muss ich den Knotenpfad wie folgt hinzufügen:

$ export PATH=/path/to/node/0.n.y/bin:${PATH}
$ curl http://npmjs.org/install.sh | sh

Oder verwirre ich mich selbst?

20voto

Andrew Marshall Punkte 92252

Die Berechtigungen für /usr/local Sie müssen Folgendes verwenden sudo um NPM zu installieren, oder ändern Sie Ihre Berechtigungen. Von diesen drei, Ich empfehle die dritte Option .

Option 1: Verwendung sudo

(Beachten Sie, dass der Ersteller von NPM rät von der Anwendung dieser Methode ab )

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

Option #2: Berechtigungen ändern

sudo chmod g+rwx /usr/local
sudo chgrp admin /usr/local

Option #3: Homebrew verwenden

Ich empfehle Installation von Homebrew um die Installation von *nix-Tools unter OS X zu verwalten (ich würde mich von MacPorts & Fink ). Die Installation von Homebrew setzt die Berechtigungen für /usr/local damit Sie darauf schreiben können, ohne sudo . Sie können dann Node über Homebrew installieren und anschließend NPM normal installieren:

brew install node --without-npm
curl http://npmjs.org/install.sh | sh

0voto

thejh Punkte 43512

Utilisez curl [http://npmjs.org/install.sh](http://npmjs.org/install.sh) | sudo sh .

Bearbeiten: Sie verwenden node -v v0.5.9-pre, die sehr instabil ist. Verwenden Sie 0.4.12, die letzte stabile Version.

0voto

Subbu Punkte 2033

Wenn Sie Windows verwenden, sind einige Schritte erforderlich: 1) Erstellen Sie eine Datei namens package.json

{ "Name": "hello" , "version": "0.0.1" , "dependencies": { "express": "*" } } wobei "hallo" der Name des Pakets ist und "*" die neueste Version Ihrer Abhängigkeit bedeutet

2) Wechseln Sie in Ihr Projektverzeichnis und führen Sie den folgenden Befehl aus

npm-Installation

0voto

Mimo Punkte 5865

Als Update für die Methode #3 unter OSX lautet der korrekte Befehl nun:

brew install node --without-npm
curl https://www.npmjs.org/install.sh | sh

0voto

jmathew Punkte 1454

Option #4:

Installieren Sie den Knoten lokal bei dem Benutzer, der ihn benötigt.

Ich sollte klarstellen, für meine Zwecke brauchte ich npm, um appium auf einem OSX-Server mit Bamboo für unsere integrierten Tests zu installieren. Ich hatte nur macports zur Verfügung und anstatt Homebrew zu installieren, um nur das eine Paket zu verwalten, entschied ich mich, es aus dem Quellcode zu bauen und es lokal unter dem Bamboo-Benutzer zu installieren. Dies ermöglichte es uns, appium als Bamboo-Benutzer auszuführen und unsere appium-Tests auf Bamboo als nicht sehr privilegierter Benutzer laufen zu lassen.

Dieser Leitfaden von Tom Novelli beschreibt, wie man das macht. Die Grundaussage ist:

# Make the dir to hold the installation of node
cd
mkdir ./local
mkdir sources
# Tell npm about your new non-default directories
vi .npmrc 
cd sources
# Get node and do the typical source install procedure
wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
tar xf node-v0.10.29.tar.gz
cd node-v8.10.29/
# Important part is the --prefix
./configure --prefix=~/.local
make
make install
# Make a link so node doesn't get confused
cd
ln -s .local/lib/node_modules .node_modules
# Edit PATH to include ~/.local
vi .bashrc

.npmrc

root =    /home/YOUR-USERNAME/.local/lib/node_modules
binroot = /home/YOUR-USERNAME/.local/bin
manroot = /home/YOUR-USERNAME/.local/share/man

.bashrc ODER .profile ODER wo immer Sie Ihren Pfad festlegen möchten

export PATH=$HOME/.local/bin:$PATH

Nützliche Links

El .npmrc man-Seite nützlich.

Und für alle Fälle hier ein Link zu Knotenquelle .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X