“Mensaje no pudo recuperar del registro” al intentar instalar cualquier módulo

No puedo instalar ningún módulo de nodo desde npm.

npm install socket.io 

El comando anterior resultó por debajo de la salida, no es capaz de instalar socket.io

 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. (/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. (/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. (http.js:1134:11) npm ERR! at CleartextStream.emit (events.js:67:17) npm ERR! You may report this log at: npm ERR!  npm ERR! or email it to: npm ERR!  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 

Mi versión de NPM es:

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

Mi versión de NodeJS es:

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

Tuve este problema con npm v1.1.4 (y el node v0.6.12 ), que son las versiones de repository de Ubuntu 12.04 .

Parece que esa versión de npm ya no es compatible, al actualizar el nodo (y npm con él) se resolvió el problema.

Primero, desinstale la versión desactualizada (opcional, pero creo que esto solucionó un problema que estaba teniendo con los módulos globales que no habían sido procesados).

 sudo apt-get purge nodejs npm 

Luego habilite el repository de nodesource e instálelo:

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

Nota: el consejo anterior era usar el repository de Chris Lea, ahora lo ha migrado a nodesource, ver:

Desde aquí

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

Tuve que ejecutar el siguiente comando:

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

Sin embargo, eso hará que npm instale paquetes a través de una conexión HTTP insegura. Si puedes, debes seguir con

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

en su lugar, para instalar a través de HTTPS.

Estoy en Ubuntu. Utilicé apt-get para instalar el nodo. Npm no estaba incluido en ese paquete, por lo que tuvo que instalarse por separado. Supuse que funcionaría, pero aparentemente la versión npm en la distribución de Ubuntu estaba desactualizada.

El nodo wiki tiene esta instrucción:

La obtención de una versión reciente de Node o la instalación en una versión anterior de Ubuntu y otras distribuciones basadas en apt pueden requerir algunos pasos adicionales. Ejemplo de instalación:

 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 

Después de eso, npm ya estaba incluido y funcionó a la perfección.

También necesita instalar software-properties-common para que add-apt-repository funcione. Así será

 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 

Para mí, generalmente es un problema de proxy, y pruebo todo:

 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 

Una cosa que me ha funcionado con errores de instalación aleatorios de npm (donde el paquete que comete errores es diferente en diferentes momentos (pero en el mismo entorno) es usar esto:

npm cache clean

Y luego repite el proceso. Luego, el proceso parece ir más fluido y aparecerá el problema real y el mensaje de error, donde puede solucionarlo y luego continuar.

Esto se basa en la experiencia de ejecutar la instalación de npm de un conjunto completo de paquetes en una instalación bastante simple de Ubuntu dentro de una instancia de Docker. A veces faltan herramientas de creación / creación de Ubuntu y los errores npm no mostrarán el problema real hasta que limpie la caché por alguna razón.

Ahora hay instrucciones oficiales de joyent (principal nodojs backer ). Para Ubuntu:

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

Para otras distribuciones de Unix, osx y windows ven el enlace. Tenga en cuenta que esto instalará tanto nodo como npm.

Este problema se debe al protocolo https, que es la razón por la cual la otra solución funciona (al cambiar al protocolo no seguro).

Para mí, la mejor solución fue comstackr la última versión de nodo, que incluye npm

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

Lo único que funcionó para mí en Elementary OS Luna, Ubuntu Fork. Estoy en la architecture x86. Intenté todas las respuestas aquí, pero finalmente decidí instalarlo desde la fuente.

Primero, asegúrese de que no esté instalado usando el administrador de paquetes:

 sudo apt-get purge nodejs npm -y 

Fui a la página de descargas para buscar la última fuente y descargarla, http://nodejs.org/download/ . Puede usar curl, wget o su navegador para obtenerlo:

 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 

La marca puede tomar un tiempo. Cuando termine, debería tener node y npm instalados y trabajando en su directorio / usr / local / bin que ya debería estar en su ruta. Debes verificar dónde vive:

 which npm node 

También tuve que cambiar los permisos para que funcione:

 sudo chown -R $USER /usr/local 

Si no funcionó, revise su ruta:

 echo $PATH 

Tenga en cuenta que instalándolo de esta manera, no será administrado por apt-get package manager. ¡Aclamaciones!

El siguiente método funcionó para mí, Kudos to github user: midnightcodr

Asegúrese de eliminar los paquetes nodejs / npm ya instalados.

 sudo apt-get purge nodejs sudo apt-get purge npm 

Ahora instala Nodo js usando el siguiente comando (Gracias a midnightcodr en github)

 curl -L https://raw.github.com/midnightcodr/rpi_node_install/master/setup.sh | bash -s 0.10.24 

Tenga en cuenta que puede invocar el nodo con el nodo de comando y no nodejs.

Una vez que el nodo está instalado, instale npm

 sudo apt-get install npm 

Recientemente tuve este problema después de actualizar node.js (e inevitablemente npm) a la versión más nueva:

> npm --version < 2.0.0-alpha-5

Nota: No pedí una versión inestable, la obtuve después de brew install npm en OSX.

La degradación de npm me solucionó el problema.

La forma más sencilla de instalar el npm estable es npm install -g npm pero podría no funcionar en algunas circunstancias y podría ser necesario degradar el node.js.

Podría ser que el registro npm estuviera caído en ese momento o que tu conexión se cayera.

De cualquier manera, debe actualizar node y npm.

Recomendaría usar nave para administrar los entornos de su nodo.

https://npmjs.org/package/nave

Le permite instalar versiones fácilmente y saltar rápidamente entre ellas.

para Raspberry pi encontré y modifiqué una solución que encontré
aquí es lo que corrí

 sudo su - cd /opt wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz tar xvzf node-v0.10.28-linux-arm-pi.tar.gz ln -s node-v0.10.28-linux-arm-pi node chmod a+rw /opt/node/lib/node_modules chmod a+rw /opt/node/bin echo 'PATH=$PATH:/opt/node/bin' > /etc/profile.d/node.sh 

el único mod que hice fue cambiar todos los 10.25 a 10.28 que era el último linux-arm-pi en el momento

@ a partir de ahí la respuesta es la mejor. Sin embargo, las versiones de Nodo se han movido siempre hacia adelante y hacia arriba, y la versión se complicó con la nueva versión de io.js. Siguiendo los pasos en su respuesta, terminará con Node versión 0.10.25 – no la versión más reciente.

Debería purgar cualquier paquete nodo / npm existente con

 sudo apt-get purge nodejs npm 

y luego ve y mira la página de instalación de deb sindesource en https://github.com/nodesource/distributions#debinstall .

Todas las versiones de Node.js se enumeran en la página anterior con los comandos de Linux para instalarlas. Y estos paquetes funcionarán tanto en Debian como en Ubuntu .

PD: si desea ejecutar Node v4.4 o superior en Ubuntu Precise o Debian Wheezy, debe revisar la información sobre la ejecución en versiones anteriores .

PPS Si su apt-get está fallando , la secuencia de comandos no se completará (las referencias de Google fallaron en mi apt-get update ). Debería ver mensajes sobre la clave de firma NodeSource que se está agregando a su llavero y un mensaje final que le indica que Run 'apt-get install nodejs' to install Node.js

PPPS npm está instalado con nodo. Una vez instalado, puede actualizar a la última npm con sudo npm install npm -g