Ich muss die neueste Version von Node und NPM unter Windows ausführen. Ich habe Node 0.5.8 installiert und die NPM-Quellen von GitHub heruntergeladen. Die Schritte, die ich zur Installation von NPM ausgeführt habe, sind auf der GitHub-Site aufgeführt. Bei der Ausführung des folgenden Befehls ist jedoch ein Problem aufgetreten:
node cli.js install npm -gf
Es schlägt jedoch mit der folgenden Fehlermeldung fehl:
Error: connect UNKNOWN
at errnoException (net_uv.js:566:11)
at Object.afterConnect [as oncomplete] (net_uv.js:557:18)
System Windows_NT 5.1.2600
command "...\\Node\\bin\\node.exe" "...\\npm\\cli.js" "install" "npm" "-gf"
cwd ...\npm
node -v v0.5.8
npm -v 1.0.94
code UNKNOWN
Ich denke, dass dies ein Problem ist, da ich eine Authentifizierung bei meinem Proxy benötige, um eine Verbindung zum Internet herzustellen. Ich habe jedoch keine Möglichkeit gefunden, dem Installationsprogramm mitzuteilen, dass meine Anmeldeinformationen für die Anmeldung verwendet werden sollen. Gibt es eine Möglichkeit, meine Proxy-IP- und Anmeldeinformationen für die npm-Installation bereitzustellen, möglicherweise über Befehlszeilenargumente?
Ich kann das vollständige Protokoll mithilfe des Pastebins bereitstellen (scheint jedoch keine relevanteren Informationen zu haben), falls erforderlich.
Antworten:
set http_proxy
funktionierte sehr gut für mich, aber ich musste es jedes Mal eingeben, wenn ich die Eingabeaufforderung öffnete. Also musste ich mehrere Antworten kombinieren und jetzt ist meine permanent.Meine Sequenz lief wie folgt ab:
C:\Users\YourUserName
.npmrc
proxy = http://domain\\username:password@ip:port
proxy = http://username:password@ip:port
npm
Andere hatten zusätzlichen Erfolg mit dem folgenden zusätzlichen Befehl:
strict-ssl = false
* Sie sollten in der Lage sein, eine IP-Adresse oder die URL zum Proxy anstelle von "IP" oben zu verwenden.
Ihre Proxy-Zeichenfolge muss möglicherweise etwas angepasst werden, dies hat jedoch dazu geführt, dass ich diese Zeichenfolge nicht jedes Mal hinzufügen muss.
Prost
quelle
proxy = http://ip:port/ https-proxy = http://ip:port/ registry = http://registry.npmjs.org/ strict-ssl = false
domain\\user:password@urltoproxy:port
jedoch versucht , als ichnpm install
die Option ändere.domain/user:password@urltoproxy:port
Also, wie kann ich das umgehen?-ssl=false registry=http://registry.npmjs.org/ proxy=http://domain\\username:password#@proxy.url:8080
dann , wenn ich von config - get - Einstellung mitnpm config get proxy
:http://domain/username:password#@proxy.url:8080
Notiz , dass das ausgetretene Backslash ‚\\‘ Änderungen an einen Schrägstrich ‚/‘Vielleicht funktioniert das Setzen einer Umgebungsvariablen für Sie:
(In meinem Fall wird dadurch die Fehlermeldung "connect UNKNOWN" behoben, es wird jedoch eine völlig andere Fehlermeldung angezeigt. Ich habe auch versucht, die Umgebungsvariable HTTPS_PROXY festzulegen, habe jedoch das gleiche Ergebnis erzielt.)
quelle
set HTTP_PROXY=http://domain\user:[email protected]:port
Ich hatte dieses identische Problem und hier ist, was ich getan habe, um diese Arbeit zu machen:
C:\Users\YourUserName
.npmrc
Und der Eintrag lautet:
Versuchen Sie den Befehl
node cli.js install npm -gf
erneut.quelle
node config set proxy http://username:password@server:port
~/.npmrc
Datei wie oben, die npm anweist, diehttp://
Registrierung anstelle von zu verwendenhttps://
, und dann meinehttp_proxy
Umgebungsvariable aufhttp://myusername:[email protected]:1234
Nach einigen Recherchen könnte ich es so benutzen:
Installieren Sie NTLM Authorization Proxy Server oder einen anderen Proxyserver für NTLM, z. B. Cntlm. Ich persönlich bevorzuge den Python-Server, da ich daran basteln kann und die Leistung kein Problem darstellt.
Richten Sie die Konfiguration ein. Beachten Sie, dass ich in meinem Fall sowohl den LM- als auch den NT-Modus aktivieren musste und ich vermute, dass dies heutzutage der Normalfall ist.
Legen Sie die Umgebungsvariablen http_proxy und https_proxy so fest, dass sie auf Ihren lokalen Proxy verweisen:
set http_proxy = "localhost: 5865"
set https_proxy = "localhost: 5865"
npm sollte jetzt funktionieren, natürlich sollte es von einer Shell ausgeführt werden, in der die obigen Umgebungsvariablen definiert sind.
quelle
Folgendes hat bei mir funktioniert.
Unter Windows 7:
Das sollte eine Datei erstellen, die
.npmrc
in demC:/users/<username>
Ordner benannt wird.quelle
Geben Sie dies in die Befehlszeile ein:
npm set proxy http://user:pass@ip:port
npm set https-proxy http://user:pass@ip:port
VERGESSEN SIE NICHT, HTTP: // vor Ihrem Benutzernamen einzuschließen . Es hat bei mir funktioniert.
quelle
Dieses Problem wurde für mich behoben, nachdem ich die .npmrc- Datei wie oben erstellt und dann den Befehl adduser und die folgenden cmd-Eingabeaufforderungen ausgeführt hatte.
Führen Sie das folgende Kommando aus, um festzustellen, ob Sie einen autorisierten Benutzernamen haben:
quelle
Bei jeder der obigen Antworten muss der Benutzer sein Kennwort in eine Textdatei oder in eine Umgebungsvariable schreiben.
Persönlich gefiel mir eine Lösung wie diese nicht, weil sie unsicher war. Also habe ich versucht, eine Anwendung zu schreiben, die das Kerberos-Token des aktuellen Benutzers in den Austausch zwischen dem Client (npm, bower, git) und dem Proxy einfügt. Allerdings ist Active Directory nur eine proprietäre Implementierung von Kerberos.
Ich verwende diese Software jeden Tag auf einem Windows 8.1-Host. Den Code (golang) und die Binärdateien der ersten Version finden Sie unter https://github.com/nilleb/authentication-proxy .
quelle
Alle drei Dinge funktionierten für mich in .npmrc
quelle
Zumindest in Windows funktioniert es bei mir mit folgender Einstellung:
dh (1) Verwenden Sie
%5C
anstelle von\
(wie an anderer Stelle vorgeschlagen) und (2) Verwenden Sie die IP-Adresse anstelle des lokalen Computernamens für den Proxyserver.quelle
Sie erhalten den Proxy-Host und den Port von Ihrem Serveradministrator oder Support.
Danach einrichten
Wenn das Passwort ein Sonderzeichen enthält, versuchen Sie es mit% urlencode. ZB: - Pfund (Hash) soll durch% 23 ersetzt werden.
quelle
Die Lösung, die für mich funktioniert hat, ist die folgende:
npm config set http_proxy http: // benutzername : passwort @ host / IP : port
npm config set proxy http: // benutzername : passwort @ host / IP : port
Ersetzen Sie in meinem Fall die Parameter durch die Werte
Nutzername : (leer)
Passwort : (leer)
Host / IP : 192.36.36.110
Hafen : 8080
Meine Befehle sind also
npm config set http_proxy http: //: @ 192.36.36.110: 8080
npm config set proxy http: //: @ 192.36.36.110: 8080
quelle
CNTLM hat bei mir nicht funktioniert. Ich habe alle möglichen Kombinationen ausprobiert. NPM hat einen Authentifizierungsfehler gemeldet. Fiddler kam zur Rettung und sparte mir Zeit. Es ist einfach zu installieren und zu konfigurieren. Setzen Sie die Fiddler-Regel auf Automatisch authentifiziert. In .npmrc legen Sie diese fest
Es hat bei mir funktioniert :)
quelle
Was für mich funktioniert hat, war wie folgt:
Ich musste keine Benutzernamen oder Passwörter eingeben, nur die URL der PAC-Datei.
quelle