npm funktioniert nicht - "ECONNRESET lesen"


164

Ich habe ein Problem mit npm, ich kann nichts installieren. Hier sind die Fehlermeldungen:

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

Irgendeine Idee warum ist das so? Hier sind meine Netzwerkeinstellungen und anscheinend habe ich keinen Proxy konfiguriert. Ich habe auch alle Firewalls deaktiviert.

Geben Sie hier die Bildbeschreibung ein


Können Sie diese Seite in einer Browser- Registrierung besuchen.npmjs.org/yo ?
thefourtheye

Es scheint, dass ihr SSL-Zertifikat abgelaufen ist!
Kushagra Gour

@ thefourtheye Ja, ich kann diesen Link besuchen
Omar

npm installiert nichts. Dieses Problem ist nicht exklusiv bei der Installation von Express
Omar

Möglicherweise müssen Sie C: \ Windows \ system32 \ npm-debug.log überprüfen. Diese Datei enthält genauere Informationen, um Ihr Problem zu beheben.
Nanda Kumar

Antworten:


326

verwenden

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

so dass npm Anfragen nach httpURL statt https.

und versuchen Sie dann den gleichen npm installBefehl


19
Kannst du bitte auch eine Erklärung geben, es wird sehr hilfreich sein.
Rishul Matta

31
Dieser "Fix" ist anfällig für Man-in-the-Middle-Angriffe. Ich würde das nicht für die Produktion verwenden.
Thesmart

3
Das Problem könnte leicht sein, dass Sie von der Firewall / dem Proxy Ihres Internetdienstanbieters oder Ihres Unternehmens für diese Website blockiert werden. Die Verwendung der oben genannten Methode ist schneller und einfacher, aber auch unsicher, da nicht überprüft wird, ob Sie mit der richtigen Website verbunden sind. Um zu überprüfen, ob Sie blockiert werden, gehen Sie einfach in Ihrem Browser zu registry.npmjs.org . Sie sollten etwas Text zurückbekommen.
Marlon

1
haha ... ich hatte monatelang versucht, darüber hinwegzukommen. Ich hatte gerade VPN deaktiviert, Pakete abgerufen und mich dann wieder angemeldet. Danke dafür. Bei allen anderen ist das Problem einfach, dass Ihre Proxy-Adresse / Ihr Proxy-Port falsch ist oder (in diesem Fall) Ihr Proxy nicht so konfiguriert ist, dass er auf HTTPS-Verkehr wartet.
Voidzero

1
Ich weiß, dass es möglicherweise nicht sicher ist, aber komm schon - ich habe ALLES VERSUCHT, um den ECONNRESET-Fehler zu beseitigen, während ich eine neue Angular 4-App über Angular CLI erstellt habe, und diese Lösung hat nur funktioniert. Nach dem Erstellen eines neuen Projekts können Sie wieder zu https wechseln. Trotzdem @mithunsatheesh nochmals vielen Dank.
born2fr4g

38

Möglicherweise möchten Sie Ihre NPM-Proxy-Einstellungen überprüfen und möglicherweise entfernen.

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

Bei einer Neuinstallation von NodeJS + NPM ist möglicherweise kein Proxy konfiguriert. Seltsamerweise wurde bei mir ein Proxy definiert, der auf eine IP und einen Port 3128 verweist. Das Entfernen des Proxys war der Trick.


Ich habe versucht, jquery in einem Angular-Projekt mit der cmd - npm install jquery zu installieren. Es gab jedoch einen Proxy-Fehler, der jetzt behoben wurde, als diese Lösung ausprobiert wurde.
Mohammed Amen

15

Möglicherweise müssen Sie auch den Proxyserver / -port angeben. In einigen Umgebungen reichen die Systemeinstellungen für den Proxy nicht aus, damit npm funktioniert.

    npm config set proxy "http://your-proxy.com:80"

11

Entfernen Sie Ihre Proxy-Einstellungen zu Hause und schalten Sie sie in Office-Netzwerken ein. Dies kann irritierend sein, aber es hat bei mir funktioniert:

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

und

npm config rm proxy   
npm config rm https-proxy

Das letzte Bit hat bei mir funktioniert - ich habe meine .npmrc-Datei überprüft und der alte https-Proxy war nach dem Entfernen des Proxys immer noch vorhanden
Jayx

Dies funktioniert, aber wie kann man die Standardeinstellung dekonfigurieren oder neu konfigurieren, wenn man zu einem anderen Netzwerk ohne Proxy geht?
DV Yogesh

9

Dies kann durch die Installation von npm mithilfe von sudoverursacht werden. Dies führt dazu, dass die Dateien im Cache Eigentum von root sind, was zu diesem Problem führt. Sie können das Problem beheben, indem Sie Folgendes ausführen:

sudo rm -rf ~/.npm

um den Cache zu entfernen. Versuchen Sie dann erneut, was auch immer Sie getan haben, und stellen Sie sicher, dass Sie es nie sudozusammen mit verwenden npm(oder das Problem kann erneut auftreten).

Viele weitere Informationen: npm löst einen Fehler ohne sudo aus


npm -g updateIch habe vergessen, dass ich zum Ausführen zum Administrator wechseln muss (wie ich es getan habe, um es zu installieren). Vielen Dank.
George

6
Wie ECONNRESETgenau verursacht das genau? Sie haben Recht, das sudokann Dinge auf neuartige Weise kaputt machen, aber es ist ein bisschen unglaublich, dass der Registrierungsserver die Verbindung trennt.
Zigg


3

Die drei Dinge, die dafür sorgen, dass npm im Proxy-Netzwerk gut funktioniert.

Diese Einstellung npm Registrierung, Standardmäßig kann es https dauern.

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

Zweitens ist zwei Proxy in Ihrem System gesetzt. Wenn Ihre Organisation Proxy verwendet oder Sie.

npm config set proxy " http: // Benutzername: Passwort @ Proxy-URL: Proxy-Port "

npm config set https-proxy " http: // Benutzername: Passwort @ Proxy-URL: Proxy-Port "

Sie können auch überprüfen, ob sie eingestellt sind oder nicht

npm config erhält https-proxy

für alle Werte.


Es zeigt mir keinen Fehler, aber die Installation steckt in der Zeile - loadRequestedDeps: sill install loadAllDepsIntoIdealTree
RSB

Dies ist ein weiteres Problem. Das Proxy-Problem von Ihnen ist gelöst. Möge dieses kurze dein Ding stackoverflow.com/questions/40874237/…
Himanshu Sharma

2

Ich habe fast alle hier und auf anderen Seiten veröffentlichten Methoden ausprobiert, aber nicht funktioniert. Hier sind die Befehle, die ich in der richtigen Reihenfolge ausgeführt habe. Ich empfehle Ihnen, es zu versuchen, da es für viele Leute (aber nicht für mich) funktioniert hat:

  • npm config rm proxy
  • npm config rm https-proxy
  • npm config set https-proxy https://username:password@proxy.company.com:6050
  • npm config set proxy http://username:password@proxy.company.com:6050
  • npm config set registry http://registry.npmjs.org/

Und dann versucht, das Paket zu installieren npm install -g express, aber es ist fehlgeschlagen.

Als ich jedoch versuchte, es auszuführen, wurde npm install npm@latest -ges auf wundersame Weise ausgeführt und gut installiert!
Dann hat das npm install -g expresserneute Laufen auch einwandfrei funktioniert.

TL; DR : Das Aktualisieren von npm auf die neueste Version hat das Problem behoben (derzeit 6.0.1).


1

Bei der Arbeit musste ich meinen Browser laden und eine Webseite durchsuchen (die mich bei unserem Webfilter authentifiziert). Dann habe ich den Befehl wiederholt und es hat erfolgreich funktioniert.


2
Ich bin mir nicht 100% sicher, ob mir das geholfen hat oder nur ein Zufall, aber das Navigieren zu registry.npmjs.org in Firefox hat mir irgendwie geholfen, npm beim nächsten Mal zu installieren. Ich habe keine Webfilter-Software.
TalkLittle

1

Dies ist eine alte Frage, aber trotzdem.

Ich hatte dieses Problem, als ich versuchte, auf Heroku bereitzustellen, und das für mich funktionierende Update bestand darin, die verwendete npmVersion zu aktualisieren . Ich hatte Version 2.xx und habe auf 3.xx aktualisiert


1

Dieser Fehler kann auch auftreten, wenn Sie ein gespeichertes Inhaber-Token haben, das jetzt ungültig ist. Ich habe dies festgestellt, als ich ein privates Repo verwendet habe, bei dem die Konten gelöscht und zurückgesetzt wurden, wodurch die Token ungültig wurden. Obwohl Ihr Repo möglicherweise keine Authentifizierung erfordert, wird es übergeben, wenn Sie ein Token aus einem früheren Login haben, und wenn es ungültig ist, wird Ihre Verbindung geschlossen.

Sie können dies beheben, indem Sie sich entweder erneut mit dem neuen Benutzernamen und Kennwort anmelden oder sich vermutlich einfach über npm abmelden.


1

Ich wollte für die Registrierung nicht zu http wechseln. Für mich funktionierte ein Downgrade von der neuesten Node-Version auf die LTS-Version (ab sofort 6.x).


1

Ich hatte das Problem, dass npm diesen Fehler auslöste.

Wenn also ein Fehler aufgetreten ist, habe ich entweder die manuelle Installation
von Git verwendet oder die angegebene Version wie folgt gewartet und installiert:

npm install resolve@^1.1.6

wenn du alleine rennst:

npm install resolve

hat nicht funktioniert.

Ich habe node.js von 7 auf 8 aktualisiert und die Installation von npm läuft reibungslos.

Ich denke, dass die Version 7 dieses Problem möglicherweise verursacht hat, da @luschn auf 6 herabgestuft wurde, sodass er auch nicht 7 verwendet hat.

Vielleicht gibt die Registrierung selbst Fehler zurück, ohne Probleme auf ihren Statusseiten anzuzeigen, da ich nach einiger Zeit dieses eine brechende Paket installieren und dann mit npm installder Installation des Restes fortfahren könnte .


1

Ich hatte das gleiche Problem in meinem lokalen Heimnetzwerk ohne Proxy. Andere Antworten in diesem Thread haben bei mir nicht funktioniert. Am Ende habe ich Folgendes yarnverwendet, das austauschbar ist mit npm:

yarn add

Bis heute weiß ich nicht, warum mein npm immer noch nicht funktioniert. Ich weiß mit Sicherheit, dass es ein Problem mit meinem WLAN ist, denn wenn ich eine Verbindung zum LTE-Internet herstelle, das von meinem Smartphone gesendet wird, npm installfunktioniert es wieder. Es hat wahrscheinlich etwas mit den Router-Einstellungen zu tun (Probleme begannen, als ich meine Internetgeschwindigkeit aktualisierte und der ISP-Mitarbeiter meinen alten Router durch einen neuen ersetzte).


1

Ich hatte das gleiche Problem beim Versuch, npmauf einem in Oracle VirtualBox emulierten System auszuführen . Ich habe das Problem behoben, indem ich die Google DNS-Adresse in den Eigenschaften des Netzwerkadapters hinzugefügt habe.

Netzwerkadapter-Eigenschaften> IPv4-Eigenschaften> Bevorzugte DNS-Adresse : 8.8.8.8.


1

Ich hatte das gleiche Problem, aber keine dieser Lösungen funktionierte richtig. Schließlich habe ich Pakete über Garn installiert , das npm-kompatibel ist. Laut offizieller Website:

Die Migration von npm sollte für die meisten Benutzer ein ziemlich einfacher Prozess sein. Yarn kann dasselbe package.json-Format wie npm verwenden und jedes Paket aus der npm-Registrierung installieren.

Installieren Sie einfach das Garn und führen Sie dann die Installation mit dem folgenden Befehl aus, der dem npm installGarn entspricht:

yarn install

Lesen Sie mehr unter - Garn: Migration von npm .


1

npm config rm proxy

npm config rm https-proxy

funktioniert bei mir!


1

Ich hatte das gleiche Problem in Windows bei der Installation eines Pakets von npm. Behoben, dass mit - ** Eingabeaufforderung als Administrator öffnen und diese 3 Befehle ausführen ** /

1. npm config rm proxy

2. npm config rm https-proxy

3. npm installiere npm @ latest -g

FÜR MAC / LINUX
1. sudo npm config rm proxy

2. sudo npm config rm https-proxy

3. sudo npm installiere npm @ latest -g

Grundsätzlich war dies Version isuue mit npm. Bitte überprüfen Sie die Arbeit



1

Unsere Firmenfirewall beendet die Installation des Knotens, stellt also eine Verbindung zum persönlichen Netzwerk her und installiert, es hat bei mir funktioniert.


1

Ich fand "npm config edit" nützlicher, um die Einträge für https-Proxy, Proxy, Registrierung zu aktualisieren

Ich habe so etwas gemacht

  • npm Konfigurationsliste
  • npm config edit (öffnet in vi)
  • Bearbeiten oder legen Sie die Konfigurationseinträge für https-Proxy, Proxy, Registrierung fest
  • npm installieren

1

Nur für den Fall ... es noch einmal zu versuchen, hat für mich funktioniert. Es könnte sich nur um ein vorübergehendes Verbindungsproblem handeln.


1

Wenn Sie Windows verwenden, sollten Sie die erweiterten Systemeinstellungen überprüfen, um die dort deklarierten env-Variablen zu überprüfen. Beachten Sie, dass die Proxy-Konfiguration möglicherweise in Umgebungsvariablen liegt, wie in der folgenden Abbildung dargestellt:

Windows env vars

Wenn Ihr Proxyserver nicht verfügbar ist oder den Datenverkehr von npm blockiert, stellen Sie möglicherweise den oben genannten Fehler in diesem Thema fest. Möglicherweise benötigen Sie überhaupt keinen Proxy. In diesem Fall entfernen Sie einfach diese HTTP_PROXY-Umgebungsvariablen.

Ich hatte alle Proxy-Konfigurationen in meinen Windows- und npm-Einstellungen deaktiviert. Beim Herunterladen von Ressourcen wurden jedoch immer noch Timeout- und Verbindungsfehler angezeigt. Dann stellte ich fest, dass für env-Variablen noch eine Proxy-Konfiguration vorhanden war, die alle Probleme verursachte.



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.