node.js - tutorial - "El mensaje no se pudo recuperar del registro" al intentar instalar cualquier módulo
npm install (14)
No puedo instalar ningún módulo de nodo desde el npm.
npm install socket.io
El comando anterior dio como resultado una salida inferior, no puede 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.<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! <[email protected]>
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 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
Ahora hay instrucciones oficiales de joyent (soporte principal de nodejs). 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 unix, osx y windows vea el enlace. Tenga en cuenta que esto instalará el nodo y npm.
De ahí que la respuesta sea la mejor. Sin embargo, las versiones de Node se han movido siempre hacia adelante y hacia arriba, y el control de versiones se complicó por la remisión de io.js. Siguiendo los pasos de su respuesta, terminará con la versión del nodo 0.10.25
, no la versión más reciente.
Aún debe limpiar todos los paquetes node / npm existentes con
sudo apt-get purge nodejs npm
y luego vaya a la página de instalación de nodesource deb 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 instalarlos. Y estos paquetes funcionarán tanto en Debian como en Ubuntu .
PS Si desea ejecutar Node v4.4 o superior en Ubuntu Precise o Debian Wheezy, debe revisar la información sobre la ejecución en distribuciones más antiguas .
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 de NodeSource que se agrega a su conjunto de claves y un mensaje final que le indica que Run ''apt-get install nodejs'' to install Node.js
PPPS npm se instala con el nodo. Una vez instalado, puede actualizar a las últimas npm con sudo npm install npm -g
El siguiente método funcionó para mí, Kudos al usuario de github: midnightcodr
Asegúrese de eliminar todos los paquetes nodejs / npm ya instalados.
sudo apt-get purge nodejs
sudo apt-get purge npm
Ahora instale Node 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 nodo con comando nodo y no nodejs.
Una vez instalado el nodo, instale npm
sudo apt-get install npm
Este problema se debe al protocolo https, por lo que la otra solución funciona (cambiando al protocolo no seguro).
Para mí, la mejor solución fue compilar la última versión de node, que incluye npm
apt-get purge nodejs npm
git clone https://github.com/nodejs/node ~/local/node
cd ~/local/node
./configure
make
make install
Estoy en Ubuntu. Utilicé apt-get para instalar el nodo. Npm no se incluyó en ese paquete, por lo que tuvo que instalarse por separado. Asumí que funcionaría, pero aparentemente la versión npm en la distribución de Ubuntu estaba desactualizada.
El nodo wiki tiene esta instrucción:
Obtener una versión reciente de Node o instalar en Ubuntu más antiguo y otras distribuciones basadas en apt puede 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ó perfectamente.
Lo único que me funcionó en Elementary OS Luna, un Ubuntu Fork. Estoy en la arquitectura 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/ . Puedes usar curl, wget o tu 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 podría tomar un tiempo. Cuando termine, debe tener nodos y npm instalados y trabajando en su directorio / usr / local / bin que ya debería estar en su ruta. Debes verificar donde vive:
which npm node
También tuve que cambiar los permisos para que funcione:
sudo chown -R $USER /usr/local
Si no funcionó revisa tu camino:
echo $PATH
Tenga en cuenta que al instalarlo de esta manera, no será administrado por el administrador de paquetes apt-get. ¡Aclamaciones!
Para la frambuesa pi encontré y modifiqué una solution que encontré.
esto 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 ese momento
Para mí, generalmente es un problema de proxy, y trato de todo:
npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false
npm config set proxy http://myusername:[email protected]:8080
npm config set https-proxy http://myusername:[email protected]:8080
set HTTPS_PROXY=http://myusername:[email protected]:8080
set HTTP_PROXY=http://myusername:[email protected]:8080
export HTTPS_PROXY=http://myusername:[email protected]:8080
export HTTP_PROXY=http://myusername:[email protected]:8080
export http_proxy=http://myusername:[email protected]:8080
npm --proxy http://myusername:[email protected]:8080 /
--without-ssl --insecure -g install
Podría ser que el registro de npm no funcionara en ese momento o que se interrumpiera su conexión.
De cualquier manera usted debe actualizar el nodo y npm.
Recomendaría el uso de nave para gestionar sus entornos de nodo.
https://npmjs.org/package/nave
Te permite instalar fácilmente versiones y saltar rápidamente entre ellas.
Recientemente tuve este problema después de actualizar node.js (e inevitablemente npm) a la versión más reciente:
> npm --version < 2.0.0-alpha-5
Nota: no pedí una versión inestable, simplemente la obtuve después de que brew install npm
en OSX.
La reducción de npm solucionó el problema para mí.
La forma más fácil de instalar el npm estable es npm install -g npm
pero puede que no funcione en algunas circunstancias y, por lo tanto, tal vez no sea necesario degradar el nodo.js.
También necesita instalar software-properties-common para que funcione el repositorio add-apt. 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
Tuve este problema con npm v1.1.4
(y node v0.6.12
), que son las versiones del repositorio de Ubuntu 12.04
.
Parece que la versión de npm
ya no es compatible, la actualización del nodo (y npm con ella) 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 se estaban procesando).
sudo apt-get purge nodejs npm
Luego habilite el repositorio de nodesource e instale:
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs
Nota: el consejo anterior era usar el repositorio de Chris Lea, ahora lo ha migrado a nodesource, consulte:
- https://chrislea.com/2014/07/09/joining-forces-nodesource/
- https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource
Desde here
Una cosa que me ha funcionado con los errores de instalación aleatorios de npm (donde el paquete de errores es diferente en diferentes momentos (pero en el mismo entorno) es usar esto:
npm cache clean
Y luego repetir el proceso. Luego, el proceso parece ir más tranquilo y surgirán el verdadero problema y el mensaje de error, donde puede solucionarlo y luego continuar.
Esto se basa en la experiencia de ejecutar la instalación npm de un montón de paquetes bajo una instalación bastante simple de Ubuntu dentro de una instancia de Docker. A veces faltan herramientas de compilación / fabricación en Ubuntu y los errores npm no mostrarán el problema real hasta que limpie el caché por alguna razón.