Error de NPM “no se pudo recuperar del registro” al instalar el módulo

E

Cuando usas NPM para instalar un módulo para un proyecto, puede encontrar un error frustrante como este:

$ npm install express --save
npm http GET https://registry.npmjs.org/express

npm ERR! Error: failed to fetch from registry: express
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" "express"
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: express
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/node0610/lib/node_modules/npm-debug.log
npm not ok

Como descubrí en el pasado, hay bastantes razones por las que puede obtener el error “No se pudo recuperar del registro”, así que aquí hay algunas formas de solucionarlo.

Versión NPM antigua / con errores

Como habrá notado en el mensaje de error anterior, la versión de npm que se está utilizando es bastante antigua. En este ejemplo, usamos Node v0.6.10 y npm v1.1.0-3. Se sabe que esta versión tiene algunos problemas con Ubuntu 12.04, por lo que su mejor opción es actualizar Node (y npm junto con él) a la versión más nueva:

$ sudo npm update npm -g

Si desea volver a instalar por completo, primero querrá eliminar por completo los ejecutables actuales de Node / npm:

$ sudo apt-get purge nodejs npm

Luego, vuelva a instalar usando una versión más actualizada, como la de Nodesource:

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

O, mejor aún, puede consultar este artículo para obtener una guía más completa para instalar Node.js en Ubuntu.

No se puede descargar a través de HTTPS

Por una razón u otra, algunas personas no pueden conectarse al registro a través de HTTPS. Esto se puede solucionar configurando el registro para que utilice HTTP en su lugar:

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

Sin embargo, esto no se recomienda, ya que sus paquetes se descargarán de forma insegura. Sería mejor encontrar la causa raíz real en lugar de utilizar una solución alternativa como esta.

Apoderado corporativo

Para muchas personas, la causa principal es en realidad porque se está utilizando un proxy en su red. Si este es el caso, puede utilizar los siguientes comandos para configurar los proxies HTTP y HTTPS:

$ npm config set proxy http://user:[email protected]:8181
$ npm config set https-proxy http://user:[email protected]:8181

Esto guardará las nuevas configuraciones y debería permitirle acceder a Internet con npm.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad