npm ne fonctionne pas - "read ECONNRESET"

164

J'ai un problème avec npm, je ne peux rien installer. Voici les messages d'erreur:

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

Une idée pourquoi est-ce? Voici mes paramètres réseau et il semble que je n'ai pas configuré de proxy. J'ai également désactivé tous les pare-feu.

entrez la description de l'image ici

Omar
la source
Pouvez-vous visiter cette page dans un navigateur registry.npmjs.org/yo ?
thefourtheye
Il semble que leur certificat SSL ait expiré!
Kushagra Gour
@thefourtheye Oui, je peux visiter ce lien
Omar
npm n'installe rien. Ce problème n'est pas exclusif à l'installation express
Omar
Vous devrez peut-être vérifier C: \ Windows \ system32 \ npm-debug.log, ce fichier aura des informations plus précises pour résoudre votre problème.
Nanda Kumar

Réponses:

328

utilisation

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

de sorte que npm demande une httpURL au lieu de https.

puis essayez la même npm installcommande

mithunsatheesh
la source
19
pouvez-vous s'il vous plaît fournir également des explications, ce sera très utile.
Rishul Matta
31
Ce "correctif" est sensible aux attaques de type "man-in-the-middle". Je n'utiliserais pas ça pour la production.
thesmart
3
Le problème pourrait facilement être que vous êtes bloqué sur ce site Web par le pare-feu / proxy de votre FAI ou de votre entreprise. L'utilisation de la méthode ci-dessus est plus rapide et plus facile, mais elle n'est pas non plus sécurisée car elle ne vérifie pas que vous êtes connecté au bon site Web. Pour vérifier si vous êtes bloqué, rendez-vous simplement sur registry.npmjs.org dans votre navigateur. Vous devriez récupérer du texte.
Marlon
1
haha ... J'essayais de dépasser ça de temps en temps depuis des mois. J'étais juste en train de désactiver VPN, de récupérer des paquets, puis de me reconnecter. Merci pour cela. Tous les autres, le problème est simplement que votre adresse / port proxy est incorrect ou (dans ce cas) votre proxy n'est pas configuré pour écouter le trafic HTTPS.
voidzero
1
Je sais que ce n'est peut-être pas sécurisé, mais allez - J'AI TOUT ESSAYÉ pour me débarrasser de l'erreur ECONNRESET lors de la création d'une nouvelle application angular 4 via Angular CLI et cette solution ne fonctionnait que. Après avoir créé un nouveau projet, vous pouvez revenir à https. Quoi qu'il en soit @mithunsatheesh merci encore une fois.
born2fr4g
38

Vous voudrez peut-être vérifier vos paramètres de proxy NPM et peut-être le supprimer.

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

On pourrait s'attendre à ce qu'une nouvelle installation de NodeJS + NPM ne dispose pas d'un proxy configuré. Curieusement, le mien est venu avec un proxy défini, pointant vers une adresse IP et le port 3128. La suppression du proxy a fait l'affaire.

Jediz
la source
J'essayais d'installer jquery dans le projet Angular en utilisant le cmd - npm install jquery Mais il y avait une erreur de proxy qui est maintenant résolue lors de la tentative de cette solution.
Mohammed Amen le
15

Vous devrez peut-être également spécifier le serveur / port proxy, dans certains environnements, les paramètres système du proxy ne sont pas suffisants pour que npm fonctionne.

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

Supprimez vos paramètres de proxy à la maison et allumez-les sur les réseaux Office, cela peut être irritant, mais cela a fonctionné pour moi:

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

et

npm config rm proxy   
npm config rm https-proxy
Ignace Andrew
la source
Le dernier bit a fonctionné pour moi - j'ai vérifié mon fichier .npmrc et l'ancien proxy https était toujours là après la suppression du proxy
Jayx
cela fonctionne mais comment déconfigurer ou reconfigurer par défaut, chaque fois que vous allez sur un autre réseau sans proxy ??
DV Yogesh
9

Cela peut être dû à l'installation de n'importe quoi avec npm en utilisant sudo- cela fait que les fichiers dans le cache appartiennent à root, ce qui entraîne ce problème. Vous pouvez le réparer en exécutant:

sudo rm -rf ~/.npm

pour supprimer le cache. Ensuite, essayez ce que vous faisiez à nouveau, en vous assurant de ne jamais utiliser sudoavec npm(ou le problème pourrait revenir).

Beaucoup plus d'informations: npm génère une erreur sans sudo

Kevin Cooper
la source
j'ai oublié de devoir passer au statut d'administrateur pour effectuer npm -g update(comme je l'ai fait pour l'installer). Merci.
George
6
Comment cela cause ECONNRESET-t-il exactement? Vous avez raison, cela sudopeut casser des choses de manière novatrice, mais amener le serveur de registre à interrompre la connexion est un peu incroyable.
zigg
4

Le redémarrage de mon PC a fonctionné.

Gowtham
la source
Idem ici, +1 :)
Daniel Danielecki
3

Les trois choses pour que npm fonctionne bien à l'intérieur du réseau proxy.

Ce registre npm défini, par défaut, il peut prendre https.

Registre du jeu de configuration npm " http://registry.npmjs.org/ "

Deuxièmement, deux proxy définis dans votre système. Si votre organisation utilise un proxy ou vous.

npm config set proxy " http: // nom d'utilisateur: mot de passe @ proxy-url: proxy-port "

npm config set https-proxy " http: // username: password @ proxy-url: proxy-port "

Vous pouvez également vérifier s'ils sont définis ou non, en

npm config obtenir https-proxy

pour toutes les valeurs.

Himanshu sharma
la source
Il ne me montre aucune erreur, mais l'installation est bloquée à la ligne - loadRequestedDeps: sill install loadAllDepsIntoIdealTree
RSB
Ceci est un autre problème. Le problème de proxy de votre est résolu. Que ce court votre chose stackoverflow.com/questions/40874237/...
Himanshu sharma
2

J'ai essayé presque toutes les méthodes publiées ici et dans d'autres pages, mais je n'ai pas fonctionné. Voici les commandes que j'ai exécutées dans l'ordre, que je vous encourage à essayer car cela a fonctionné pour de nombreuses personnes (mais pas pour moi):

  • 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/

Et puis en essayant d'installer le package npm install -g express , mais cela a échoué.

Cependant, quand j'ai essayé de l'exécuter, npm install npm@latest -gil s'est exécuté et installé par miracle !
Puis courirnpm install -g express nouveau fonctionnait parfaitement bien aussi.

TL; DR : la mise à jour de npm vers la dernière version a résolu le problème (actuellement 6.0.1)

Nuhman
la source
1

Au travail, je devais charger mon navigateur et parcourir une page Web (qui m'authentifie auprès de notre filtre Web). Puis j'ai réessayé la commande et cela a fonctionné avec succès.

Helzgate
la source
2
Je ne sais pas à 100% si c'est ce qui m'a aidé, ou juste une coïncidence, mais accéder à registry.npmjs.org dans Firefox a d'une manière ou d'une autre aidé npm installer à fonctionner la prochaine fois. Je n'ai aucun logiciel de filtrage Web.
TalkLittle
1

C'est une vieille question, mais de toute façon.

J'ai eu ce problème, lorsque j'essayais de déployer sur heroku, et le correctif qui a fonctionné pour moi était de mettre à jour la npmversion utilisée. J'avais la version 2.xx et j'ai mis à jour vers 3.xx

Dimitris Karagiannis
la source
1

Vous pouvez également rencontrer cette erreur si vous avez un jeton de porteur enregistré qui est maintenant invalide. J'ai rencontré cela lors de l'utilisation d'un dépôt privé où les comptes ont été effacés et réinitialisés, ce qui a invalidé les jetons. Bien que votre dépôt ne nécessite pas d'authentification, si vous avez un jeton d'une connexion précédente, il sera transmis et s'il n'est pas valide, votre connexion sera fermée.

Vous pouvez résoudre ce problème en vous reconnectant avec le nouveau nom d'utilisateur et le nouveau mot de passe, ou probablement en vous déconnectant simplement via npm.

Carth
la source
1

Je ne voulais pas passer à http pour le registre, ce qui a fonctionné pour moi était de passer de la dernière version de Node à la version LTS (à partir de maintenant, 6.x).

Luschn
la source
1

J'ai eu le problème avec npm de lancer cette erreur.

Donc, fondamentalement, chaque fois qu'une erreur a été lancée, j'ai soit utilisé l'installation manuelle
de git, soit attendu et installé la version spécifiée comme:

npm install resolve@^1.1.6

en courant seul:

npm install resolve

n'a pas fonctionné.

J'ai mis à jour node.js de 7 à 8 et l'installation de npm se déroule sans problème.

Je pense que la version 7 a peut-être causé ce problème depuis que @luschn est passé à 6, donc il n'a pas utilisé 7 aussi.

Peut-être que le registre lui-même renvoie des erreurs sans afficher de problèmes sur leurs pages d'état, car après un certain temps, je pourrais installer ce package de rupture, puis procéder npm installà l'installation du reste.

Mike
la source
1

J'ai eu le même problème sur mon réseau domestique local sans proxy. Les autres réponses dans ce fil n'ont pas fonctionné pour moi. Ce que j'ai fini par faire, c'est d'utiliser yarnce qui peut être utilisé de manière interchangeable avec npm:

yarn add

À ce jour, je ne sais pas pourquoi mon npm ne fonctionne toujours pas. Je sais avec certitude que c'est un problème avec mon Wi-Fi, car lorsque je me connecte à Internet LTE diffusé depuis mon smartphone npm installfonctionne à nouveau. Cela a probablement quelque chose à voir avec les paramètres du routeur (des problèmes ont commencé lorsque j'ai mis à niveau ma vitesse Internet et que le fournisseur de services Internet a remplacé mon ancien routeur par un nouveau).

Célèbes
la source
1

J'ai eu le même problème en essayant de fonctionner npmsur un système émulé dans Oracle VirtualBox . Je l'ai résolu en ajoutant l'adresse DNS Google dans les propriétés de l'adaptateur réseau.

Propriétés Adaptateur réseau> Propriétés IPv4> Adresse DNS préféré: 8.8.8.8.

Karol Trybulec
la source
1

J'ai eu le même problème mais aucune de ces solutions n'a fonctionné correctement. Enfin, j'ai installé des packages via yarn , qui est compatible avec npm. Selon le site officiel:

La migration depuis npm devrait être un processus assez simple pour la plupart des utilisateurs. Yarn peut utiliser le même format package.json que npm et peut installer n'importe quel package du registre npm.

Installez simplement le fil, puis exécutez l'installation en utilisant la commande suivante, l'équivalent de npm installin yarn:

yarn install

En savoir plus sur— Yarn: Migrating from npm .

Dariusz Woźniak
la source
1

npm config rm proxy

npm config rm https-proxy

travaille pour moi!

samivique
la source
1

J'ai eu le même problème dans Windows lors de l'installation de n'importe quel package à partir de npm. Correction de cela avec - ** ouvrir l'invite de commande en tant qu'administrateur et exécuter ces 3 commandes ** /

1. proxy npm config rm

2. npm config rm https-proxy

3. npm installer npm @ latest -g

POUR MAC / LINUX
1. proxy sudo npm config rm

2. sudo npm config rm https-proxy

3. sudo npm installer npm @ latest -g

Fondamentalement, c'était la version isuue avec npm. Veuillez vérifier son fonctionnement

Shivam Gupta
la source
1

Le pare-feu de notre entreprise arrêtera d'installer le nœud, se connectera donc au réseau personnel et installera, cela a fonctionné pour moi.

sahi
la source
1

J'ai trouvé que "npm config edit" était plus utile pour mettre à jour les entrées pour https-proxy, proxy, registre

J'ai fait quelque chose comme ça

  • liste de configuration npm
  • npm config edit (ouvre dans vi)
  • Modifiez ou définissez les entrées de configuration pour https-proxy, proxy, registre
  • npm installer
Prasad Paravatha
la source
1

Juste au cas où ... essayer une fois de plus a fonctionné pour moi. Il peut s'agir simplement d'un problème de connexion temporaire.

alexr101
la source
1

Si vous utilisez Windows, vous devez suivre les paramètres système avancés pour vérifier les variables d'environnement déclarées là-bas, vous devriez remarquer que la configuration du proxy peut se trouver dans des variables d'environnement, comme dans l'image ci-dessous:

Vars d'environnement Windows

Donc, si votre serveur proxy n'est pas disponible ou bloque le trafic de npm, vous remarquerez peut-être l'erreur susmentionnée dans cette rubrique. Peut-être que vous n'avez pas du tout besoin de proxy, dans ce cas, supprimez simplement ces variables d'environnement HTTP_PROXY.

J'avais désactivé toutes les configurations de proxy dans mes paramètres Windows et npm, cependant, npm recevait toujours des erreurs de délai d'expiration et de connexion lors du téléchargement des ressources, puis j'ai compris qu'il restait encore une configuration de proxy sur les variables env, ce qui causait tous les problèmes.

s_bighead
la source