364 Stimmen

"Nachricht konnte nicht aus der Registrierung geholt werden" beim Versuch, ein Modul zu installieren

Ich kann kein Node-Modul von npm installieren.

npm install socket.io

Der obige Befehl führt zu folgender Ausgabe, socket.io kann nicht installiert werden

npm http GET https://registry.npmjs.org/socket.io

npm ERR! Error: failed to fetch from registry: socket.io
npm ERR!     at /opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:32:9)
npm ERR!     at Request._callback (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:137:18)
npm ERR!     at Request.callback (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:109:22)
npm ERR!     at Request.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:198:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:195:10)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at CleartextStream.<anonymous> (http.js:1134:11)
npm ERR!     at CleartextStream.emit (events.js:67:17)
npm ERR! You may report this 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 Linux 2.6.18-194.el5
npm ERR! command "node" "/opt/node0610/bin/npm" "install" "socket.io"
npm ERR! cwd /opt/node0610/lib/node_modules
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! message failed to fetch from registry: socket.io
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/node0610/lib/node_modules/npm-debug.log
npm not ok

Meine NPM-Version ist :

[applmgr@dev node_modules]$ npm --version
1.1.0-3

Meine NodeJS Version ist :

[applmgr@dev node_modules]$ node --version
v0.6.10

10voto

Edward Tan Punkte 894

Eine Sache, die mir bei zufälligen npm-Installationsfehlern geholfen hat (bei denen das Paket, das fehlschlägt, zu verschiedenen Zeiten (aber in derselben Umgebung) unterschiedlich ist), ist die Verwendung dieser Methode:

npm cache clean

Und dann wiederholen Sie den Vorgang. Dann scheint der Prozess reibungsloser zu verlaufen und das eigentliche Problem und die Fehlermeldung werden auftauchen, wo Sie es beheben und dann fortfahren können.

Dies basiert auf den Erfahrungen, die ich bei der Installation einer ganzen Reihe von Paketen mit npm unter einer ziemlich nackten Ubuntu-Installation innerhalb einer Docker-Instanz gemacht habe. Manchmal fehlen Build-/Make-Tools in der Ubuntu-Installation und die npm-Fehler zeigen das eigentliche Problem nicht an, bis man den Cache aus irgendeinem Grund bereinigt.

7voto

Venar303 Punkte 313

Dieses Problem ist auf das https-Protokoll zurückzuführen, weshalb die andere Lösung funktioniert (durch Umstellung auf das nicht sichere Protokoll).

Für mich bestand die beste Lösung darin, die neueste Version von node zu kompilieren, die npm enthält

apt-get purge nodejs npm
git clone https://github.com/nodejs/node ~/local/node
cd ~/local/node
./configure
make
make install

6voto

Brian Low Punkte 11205

Es gibt jetzt offizielle Anweisungen von joyent (primärer Nodejs-Unterstützer). Für Ubuntu:

sudo apt-get purge nodejs npm
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

Für andere Unix-Distributionen, OSX und Windows siehe den Link. Beachten Sie, dass dadurch sowohl node als auch npm installiert werden.

5voto

radtek Punkte 30114

Das einzige, was bei mir mit Elementary OS Luna, einem Ubuntu Fork, funktioniert hat. Ich habe eine x86-Architektur. Ich habe alle Antworten hier versucht, aber schließlich beschlossen, es von der Quelle zu installieren.

Stellen Sie zunächst sicher, dass das Programm nicht über den Paketmanager installiert wurde:

sudo apt-get purge nodejs npm -y

Ich bin auf die Download-Seite gegangen, um den neuesten Quellcode zu suchen und herunterzuladen, http://nodejs.org/download/ . Sie können curl, wget oder Ihren Browser verwenden, um sie zu erhalten:

wget http://nodejs.org/dist/v0.10.34/node-v0.10.34.tar.gz
tar -xvf node-v0.10.34.tar.gz 
cd node-v0.10.34
./configure
make
sudo make install

Die Herstellung könnte eine Weile dauern. Danach sollten node und npm installiert sein und in Ihrem Verzeichnis /usr/local/bin arbeiten, das sich bereits in Ihrem Pfad befinden sollte. Sie sollten überprüfen, wo es sich befindet:

which npm node

Ich musste auch die Berechtigungen ändern, damit es funktioniert:

sudo chown -R $USER /usr/local

Wenn es nicht funktioniert hat, überprüfen Sie Ihren Pfad:

echo $PATH

Beachten Sie, dass die Installation auf diese Weise nicht vom apt-get Paketmanager verwaltet wird. Prost!

3voto

Michał Miszczyszyn Punkte 10482

Vor kurzem hatte ich dieses Problem, nachdem ich node.js (und zwangsläufig auch npm) auf die neueste Version aktualisiert hatte:

> npm --version < 2.0.0-alpha-5

Anmerkung: Ich habe nicht fragen Sie für eine instabile Version, ich habe sie erst nach brew install npm unter OSX.

Ein Downgrade von npm hat das Problem für mich behoben.

Der einfachste Weg, das stabile npm zu installieren, ist npm install -g npm aber es könnte unter bestimmten Umständen nicht funktionieren und ein Downgrade von node.js könnte dann erforderlich sein.

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