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

804voto

John Carter Punkte 52192

Ich hatte dieses Problem mit npm v1.1.4 (und node v0.6.12 ), die die Ubuntu 12.04 Repository-Versionen.

Es sieht so aus, als ob diese Version von npm wird nicht mehr unterstützt, ein Update von Node (und damit von npm) hat das Problem gelöst.

Deinstallieren Sie zunächst die veraltete Version (optional, aber ich denke, dass damit ein Problem behoben wurde, bei dem globale Module nicht eingepflegt wurden).

sudo apt-get purge nodejs npm

Aktivieren Sie dann das Nodesource-Repositorium und installieren Sie:

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

Anmerkung - der frühere Ratschlag war, Chris Leas Repo zu verwenden, er hat es jetzt zu nodesource migriert, siehe:

Von: aquí

651voto

Dexter Punkte 12170

https://github.com/isaacs/npm/issues/2119

Ich musste den folgenden Befehl ausführen:

npm config set registry http://registry.npmjs.org/

Dies wird jedoch dazu führen, dass npm Pakete über eine unsichere HTTP-Verbindung zu installieren. Wenn Sie können, sollten Sie sich an

npm config set registry https://registry.npmjs.org/

stattdessen über HTTPS zu installieren.

32voto

geon Punkte 7541

Ich benutze Ubuntu. Ich habe apt-get verwendet, um node zu installieren. Npm war nicht in diesem Paket enthalten, musste also separat installiert werden. Ich nahm an, dass das funktionieren würde, aber offenbar war die npm-Version in der Ubuntu-Distribution veraltet.

Der Knoten wiki hat diese Anweisung:

Die Beschaffung einer neueren Version von Node oder die Installation auf älteren Ubuntu- und anderen apt-basierten Distributionen kann ein paar zusätzliche Schritte erfordern. Beispiel-Installation:

sudo apt-get update
sudo apt-get install -y python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Danach war npm bereits enthalten und funktionierte perfekt.

19voto

Katie Punkte 41284

Bei mir ist es meist ein Proxy-Problem, und ich versuche alles:

npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false

npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
set HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
set HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export http_proxy=http://myusername:mypassword@proxy.us.somecompany:8080

npm --proxy http://myusername:mypassword@proxy.us.somecompany:8080 \
--without-ssl --insecure -g install

17voto

Tushar Punkte 431

Sie müssen auch software-properties-common installieren, damit add-apt-repository funktioniert. Es wird also

sudo apt-get purge nodejs npm
sudo apt-get install -y python-software-properties python g++ make software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

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