npm no funciona - "leer ECONNRESET"

164

Tengo un problema con npm, no puedo instalar nada. Aquí están los mensajes de error:

C:\Windows\system32>npm install -g yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm ERR! network read ECONNRESET
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "yo"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.17
npm ERR! npm -v 1.3.8
npm ERR! syscall read
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

¿Alguna idea de por qué es esto? Aquí están mis configuraciones de red y parece que no tengo ningún proxy configurado. También deshabilité todos los firewalls.

ingrese la descripción de la imagen aquí

Omar
fuente
¿Puede visitar esta página en un navegador Registry.npmjs.org/yo ?
thefourtheye
¡Parece que su certificado SSL expiró!
Kushagra Gour
@thefourtheye Sí, puedo visitar ese enlace
Omar
npm no instala nada. Este problema no es exclusivo en la instalación de Express
Omar
Es posible que deba verificar C: \ Windows \ system32 \ npm-debug.log, este archivo tendrá información más precisa para resolver su problema.
Nanda Kumar

Respuestas:

327

utilizar

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

para que npm solicite httpurl en lugar dehttps .

y luego intente el mismo npm installcomando

mithunsatheesh
fuente
19
¿Puede por favor también dar alguna explicación, será muy útil.
Rishul Matta
31
Esta "solución" es susceptible a los ataques de hombre en el medio. No usaría esto para la producción.
thesmart
3
El problema podría ser fácilmente si el servidor de seguridad / proxy de su ISP o compañía lo bloquea a ese sitio web. Usar el método anterior es más rápido y fácil, pero también es inseguro ya que no verifica que esté conectado al sitio web correcto. Para verificar si está siendo bloqueado, simplemente vaya a Registry.npmjs.org en su navegador. Deberías recuperar algo de texto.
Marlon el
1
jaja ... He estado tratando de superar esto de vez en cuando durante meses. Había estado deshabilitando VPN, agarrando paquetes y luego volviendo a iniciar sesión. Gracias por esto. Todos los demás, el problema es simplemente que su dirección / puerto de proxy es incorrecto o (en este caso) su proxy no está configurado para escuchar el tráfico HTTPS.
voidzero
1
Sé que puede que no sea seguro, pero vamos. INTENTÉ TODO para deshacerme del error ECONNRESET al crear una nueva aplicación angular 4 a través de Angular CLI y esa solución solo funcionó. Después de crear un nuevo proyecto, puede volver a https. De todos modos @mithunsatheesh gracias una vez más.
born2fr4g
38

Es posible que desee verificar su configuración de proxy NPM y quizás eliminarla.

npm config get proxy
npm config rm proxy
npm config rm https-proxy

Uno podría esperar que una nueva instalación de NodeJS + NPM no tuviera un proxy configurado. Por extraño que parezca, el mío vino con un proxy definido, apuntando a una IP y un puerto 3128. Eliminar el proxy hizo el truco.

jediz
fuente
Intenté instalar jquery en el proyecto Angular usando cmd - npm install jquery Pero hubo un error de proxy que ahora se resuelve cuando probé esta solución.
Mohammed Amen
15

También es posible que deba especificar el servidor / puerto proxy, en algunos entornos la configuración del sistema para el proxy no es suficiente para que npm funcione.

    npm config set proxy "http://your-proxy.com:80"
Dmitri Mogilevski
fuente
11

Elimine la configuración de proxy en casa y enciéndala en las redes de Office. Esto puede ser irritante, pero funcionó para mí:

npm config set proxy http://xxx.xxx.xxx.4:8080   
npm config set https-proxy http://xxx.xxx.xxx.4:8080

y

npm config rm proxy   
npm config rm https-proxy
Ignacio Andrew
fuente
El último bit funcionó para mí: revisé mi archivo .npmrc y el antiguo proxy https seguía allí después de eliminar el proxy
Jayx
esto está funcionando, pero ¿cómo desconfigurar o reconfigurar al predeterminado, siempre que vaya a otra red sin proxy?
DV Yogesh
9

Esto puede deberse a la instalación de cualquier cosa con npm usando sudo; esto hace que los archivos en el caché sean propiedad de root, lo que resulta en este problema. Puedes arreglarlo ejecutando:

sudo rm -rf ~/.npm

para eliminar el caché A continuación, intente lo que estaba haciendo de nuevo, asegurándose de que nunca usa sudojunto con npm(o el problema puede reaparecer).

Mucha más información: npm arroja un error sin sudo

Kevin Cooper
fuente
olvidé la necesidad de pasar al Administrador para realizar npm -g update(como hice para instalarlo). Gracias.
George
66
¿Cómo causa esto ECONNRESETexactamente? Tienes razón, sudopuede romper cosas de formas novedosas, pero hacer que el servidor de registro pierda la conexión es un poco increíble.
zigg
4

Reiniciar mi PC lo hizo funcionar.

Gowtham
fuente
Lo mismo aquí, +1 :)
Daniel Danielecki
3

Las tres cosas para hacer que npm funcione bien dentro de la red proxy.

Esto establece el registro npm. Por defecto, puede tomar https.

Registro de configuración de npm " http://registry.npmjs.org/ "

El segundo es un proxy de dos conjuntos en su sistema. Si su organización usa proxy o usted.

npm config set proxy " http: // nombre de usuario: contraseña @ proxy-url: puerto-proxy "

npm config set https-proxy " http: // nombre de usuario: contraseña @ proxy-url: puerto-proxy "

También puede verificar si están configurados o no, por

npm config get https-proxy

para todos los valores

Himanshu Sharma
fuente
No me muestra ningún error, pero la instalación está atascada en la línea - loadRequestedDeps: sill install loadAllDepsIntoIdealTree
RSB
Este es otro problema. El problema de proxy de tu está resuelto. Que esto acorte
Himanshu sharma
2

He probado casi todos los métodos publicados aquí y en otras páginas, pero no funcionó. Estos son los comandos que he ejecutado en orden, que le recomiendo que pruebe porque funcionó para muchas personas (pero no para mí):

  • npm config rm proxy
  • npm config rm https-proxy
  • npm config set https-proxy https://username:[email protected]:6050
  • npm config set proxy http://username:[email protected]:6050
  • npm config set registry http://registry.npmjs.org/

Y luego tratando de instalar el paquete npm install -g express, pero falló.

Sin embargo, cuando intenté ejecutarlo npm install npm@latest -g, milagrosamente se ejecutó e instaló bien.
Luego correr npm install -g expressnuevamente funcionó perfectamente bien también.

TL; DR : actualizar npm a la última versión resolvió el problema (actualmente 6.0.1)

Nuhman
fuente
1

En el trabajo, tuve que cargar mi navegador y navegar por una página web (que me autentica en nuestro filtro web). Luego volví a intentar el comando y funcionó con éxito.

Helzgate
fuente
2
No es 100% seguro si esto es lo que me ayudó, o simplemente una coincidencia, pero la navegación a registry.npmjs.org en Firefox alguna manera ayudó a instalar NPM trabajo la próxima vez. No tengo ningún tipo de software de filtro web.
TalkLittle
1

Esta es una vieja pregunta, pero de todos modos.

Tuve este problema cuando estaba tratando de implementarlo en heroku, y la solución que funcionó para mí fue actualizar la npmversión utilizada. Tenía la versión 2.xx y actualicé a 3.xx

Dimitris Karagiannis
fuente
1

También puede encontrar este error si tiene un token de portador guardado que ahora no es válido. Me encontré con esto al usar un repositorio privado donde las cuentas se borraron y restablecieron, invalidando los tokens. Aunque es posible que su repositorio no requiera autenticación, si tiene un token de un inicio de sesión anterior, se pasará y si no es válido, su conexión se cerrará.

Puede resolver esto iniciando sesión nuevamente con el nuevo nombre de usuario y contraseña, o presumiblemente simplemente cerrando la sesión a través de npm.

Carth
fuente
1

No quería cambiar a http para el registro, lo que funcionó para mí fue degradar de la última versión de Node a la versión LTS (a partir de ahora, 6.x).

luschn
fuente
1

Tuve el problema con npm arrojando este error.

Entonces, básicamente, cada vez que se arrojó un error, utilicé la instalación manual
desde git o esperé e instalé una versión especificada como:

npm install resolve@^1.1.6

cuando corres solo:

npm install resolve

No funcionó.

Actualicé node.js de 7 a 8 y la instalación de npm funciona sin problemas.

Creo que tal vez la versión 7 causó este problema ya que @luschn bajó a 6, por lo que no usó 7 también.

Tal vez el registro en sí mismo está devolviendo errores sin mostrar problemas en sus páginas de estado porque después de un tiempo podría instalar este paquete de última hora y luego proceder npm installa instalar el resto.

Miguel
fuente
1

Tuve el mismo problema en mi red doméstica local sin proxy. Otras respuestas en este hilo no funcionaron para mí. Lo que terminé haciendo fue usar lo yarnque se puede usar indistintamente con npm:

yarn add

Hasta el día de hoy no sé por qué mi npm todavía no funciona. Sé con certeza que es un problema con mi Wi-Fi, porque cuando me conecto a Internet LTE transmitido desde mi teléfono inteligente npm installfunciona nuevamente. Probablemente tenga algo que ver con la configuración del enrutador (los problemas comenzaron cuando actualicé mi velocidad de Internet y el trabajador del ISP reemplazó mi antiguo enrutador por uno nuevo).

Celebra
fuente
1

Tuve el mismo problema al intentar ejecutar npmen un sistema emulado en Oracle VirtualBox . Lo resolví agregando la dirección DNS de Google en las propiedades del Adaptador de red.

Propiedades del adaptador de red> propiedades IPv4> Dirección DNS preferido: 8.8.8.8.

Karol Trybulec
fuente
1

Tuve el mismo problema pero ninguna de estas soluciones funcionó correctamente. Finalmente, he instalado paquetes a través de hilo , que es compatible con npm. Según el sitio web oficial:

La migración desde npm debería ser un proceso bastante fácil para la mayoría de los usuarios. Yarn puede consumir el mismo formato package.json que npm y puede instalar cualquier paquete desde el registro npm.

Simplemente instale el hilo y luego, ejecute la instalación utilizando el siguiente comando, el equivalente a npm installen hilo:

yarn install

Lea más en— Hilo: Migrando desde npm .

Dariusz Woźniak
fuente
1

npm config rm proxy

npm config rm https-proxy

¡funciona para mi!

samivic
fuente
1

Tuve el mismo problema en Windows al instalar cualquier paquete de npm. Se corrigió eso con - ** abrir símbolo del sistema como administrador y ejecutar estos 3 comandos ** /

1. npm config rm proxy

2. npm config rm https-proxy

3. npm install npm @ latest -g

PARA MAC / LINUX
1. sudo npm config rm proxy

2. sudo npm config rm https-proxy

3. sudo npm install npm @ latest -g

Básicamente esta era la versión isuue con npm. Por favor verifique su funcionamiento

Shivam Gupta
fuente
1

El firewall de nuestra empresa dejará de instalar el nodo, por lo tanto, conéctese a la red personal e instale, funcionó para mí.

sahi
fuente
1

Encontré que "npm config edit" es más útil para actualizar las entradas para https-proxy, proxy, registro

Hice algo como esto

  • lista de configuración de npm
  • npm config edit (se abre en vi)
  • Edite o configure las entradas de configuración para https-proxy, proxy, registro
  • npm install
Prasad Paravatha
fuente
1

Por si acaso ... simplemente intentarlo una vez más funcionó para mí. Que podría ser sólo un problema de conexión temporal.

alexr101
fuente
1

Si está utilizando Windows, debe hacer un seguimiento de la Configuración avanzada del sistema para verificar los entornos declarados allí, debe notar que la configuración del proxy puede estar dentro de las variables de entorno, como en la imagen a continuación:

Windows env vars

Por lo tanto, si su servidor proxy no está disponible o está bloqueando el tráfico de npm, es posible que observe el error mencionado anteriormente en este tema. Tal vez no necesite ningún proxy, en este caso, simplemente elimine estas variables env HTTP_PROXY.

Desactivé todas las configuraciones de proxy en mi configuración de Windows y npm, sin embargo, npm seguía recibiendo tiempo de espera y errores de conexión mientras descargaba recursos, luego descubrí que aún quedaba una configuración de proxy en las variables env, lo que estaba causando todos los problemas.

s_bighead
fuente