2013-03-22 11 views
8

Ich bekomme Fehler: Tunneling Socket konnte nicht hergestellt werden, Ursache = getaddrinfo ENOTFOUND beim Versuch, ein Modul in node.js zu installieren. Es scheint einige Proxy-Fehler. Ich habe in Browsereinstellungen überprüft, Proxy ist deaktiviert. Aber wenn ich einchecke Eingabeaufforderung npm config erhalten Proxy, 192.168.98.5:8080 bekommen. Wie kann ich das deaktivieren?NPM-Modul Installationsfehler

Antwort

15

Zuerst versuchen npm config delete proxy auszuführen. Wenn Sie etwas wie Error: ENOENT, unlink '/Users/drlazor/.npmrc' bekommen, ist OK; Das heißt, Sie haben keine npm-Konfigurationsdatei und daher auch keine Proxy-Einstellungen.

Zweitens, überprüfen Sie, dass Sie keine Proxy-Einstellungen mit npm config get proxy haben. Sie sollten einen null oder den obigen Fehler erhalten. Wenn Sie weiterhin ein anderes Ergebnis als null erhalten, sollten Sie auch sicherstellen, dass Sie die Umgebungsvariable HTTP_PROXY nicht gesetzt haben.

Drittens und zuletzt, wenn keiner von denen funktioniert, versuchen Sie den URL von Ihrem Browser aus; Es könnte doch ein Netzwerkproblem sein.

+3

"npm config set proxy null" war der beste Weg für mich, den Proxy vollständig zu entfernen, da es aus irgendeinem Grund einen Standardwert für den Proxy gibt. –

+1

löschte die Proxy-Einstellungen in hier und alles funktioniert. Danke! – davidwickman

+0

cool! Stellen Sie beide Proxy-Einstellungen auf null ... für mich gearbeitet ..Erstaunliche Lösung .. verbrachte Stunden zu lösen –

5

Sie sollten auf der Konfigurationsseite npm nachsehen, wie Sie Konfigurationswerte einstellen und ändern können. Proxy-Schlüssel speichert den Proxy-Server für die Verbindung mit NPM-Repositorys. Versuchen Sie folgendes:

npm config delete proxy 
2

Ich war im gleichen Zustand und habe diesen Fehler wegen des falschen Proxy-Wertes Format (ich vermisse nur "http: //" am Anfang der Proxies Werte).

Wenn ein Proxy eingestellt werden soll, hier ist das Format (Werte abhängig von Ihrem Netzwerk):

npm config set proxy http://proxy.mydomain:3128

npm config set https-proxy http://proxy.mydomain:3128

4

Hinweis: Dies funktioniert, wenn Sie nicht hinter einem Proxy sind also (von einem Personal Computer)

Zuerst führen Sie diesen Befehl

npm config edit 

npm die Konfigurationsdatei Kommentar folgenden zwei Zeile öffnet s in der geöffneten Datei durch setzen ";" (Semikolon) im Anfang der Zeile.

npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080

Sie sind fertig. Jetzt installieren Sie alle gewünschten Pakete.

npm install -g cordova 
npm install -g npm 

oder alles, was Sie

+0

Selbst nach dem Ausführen von 'npm config delete https-proxy' hatte ich Probleme. Dann habe ich 'npm config edit' versucht und zu meiner Überraschung war der https-proxy noch gesetzt! Durch das Entfernen wurden die Probleme behoben. Vielen Dank. – akash

+0

Nicht für mich arbeiten – Sky

0

installieren müssen Wenn Sie kein Proxy die folgenden Befehle verwenden:

npm config delete https-proxy 
npm config delete proxy 

wenn Sie einen Proxy verwenden verwenden:

npm config set proxy $PROXY 
npm config set http-proxy $PROXY 

Einer der beiden tendiert zu arbeiten

1

Dies kann auch passieren, wenn Ihr NPM für die Verwendung eines anderen NPM-Registrierungsservers konfiguriert ist (möglicherweise befinden Sie sich auf einer Arbeitsmaschine und sind nicht mit dem Netzwerk/VPN verbunden).Um zu sehen, ob dies der Fall ist:

npm config edit 

und sucht:

registry=http://alternateurl 

Der Standardwert ist:

https://registry.npmjs.org/ 

Sie können mit Ihrem VPN/Netzwerk anschließen oder diese Konfiguration ändern richtig.

1

Sie müssen festlegen alle 3 Proxy

npm config set proxy http://proxy.name.xx:port 
npm config set http-proxy http://proxy.name.xx:port 
npm config set https-proxy http://proxy.name.xx:port 
0

Bei Proxy über den Anschluss einstellen oder das Erstellen von .npmrc nicht hilft, versuchen .typingsrc Datei in c zu setzen: Benutzer \ \ 'username 'mit dem folgenden Inhalt

{ 
    "proxy": "http://proxy.name.xx:port", 
    "https-proxy": "http://proxy.name.xx:port", 
    "strict-ssl": false 
}