2013-04-09 7 views
26

Wir sind durch einen Proxy verbunden und hier, Git ist blockiert (nicht die Website, sondern auf git //:) wir versuchten mit Egit, "Git auf Windows", mit und ohne Proxy, aber kein einziger Klon zum lokalen passiert.git ist blockiert, wie man npm Module installiert

Jetzt ist das Problem zu installieren npm-Module, versuchte ich durch Herunterladen von Modulen (zip) von git-Website (über das Web) und versuchte die lokale Installation, die aber das Problem hier ist eine große Anzahl von Abhängigkeiten, ist es nicht einfach Module einzeln zu ziehen, um Abhängigkeiten (und innere Abhängigkeiten) zu füllen.

So, wie dieses Problem zu lösen, ich fühle es drei Möglichkeiten sein kann Lösung zu finden:

  • erlauben git Tunneln durch Firewall (ich habe keine Freunde in n/w-Team).
  • Schlagen Sie mir eine Möglichkeit vor, Module mit Abhängigkeiten über http: // (und nicht git: //) zu ziehen, wenn Sie npm installieren.
  • Download von git website modules + volle Abhängigkeiten, in Einzelaufnahme.
+0

Haben Sie versucht, eine Verbindung zu GitHub über https herzustellen? git //: ist auch für uns gesperrt, aber wir können uns über https verbinden. Die Dokumente für [npm install] (https://npmjs.org/doc/install.html) geben dies ebenfalls als Option an. – mickfold

+0

@penfold SSH ist auch eine gute Alternative –

+0

Benötigt Ihr Proxy eine Authentifizierung? – laktak

Antwort

60

aus dieser Antwort Kopierten https://stackoverflow.com/a/10729634/1095114


Wenn dies ein Problem mit Ihrer Firewall ist es, die git blockiert: Protokoll-Port (9418), dann sollten Sie eine persistente Änderung vornehmen, so dass Sie nicht tun Denken Sie daran, Befehle zu geben, die von anderen Posts für jedes Git Repo vorgeschlagen werden. Dies funktioniert auch bei Submodulen, die das Protokoll git:// verwenden.

einfach den folgenden Befehl:

git config --global url."https://".insteadOf git://

Dieses einfach die folgenden zwei Zeilen ergänzt ~/.gitconfig:

[url "https://"] insteadOf = git://

Nun, wie von Zauberhand, alle git Befehle führen eine Ersetzung von git:// bis https://

+1

Ich versuchte dies auf der Power-Konsole, aber es hat nicht funktioniert – sij

+1

Danke, löste mein Problem, konnte nicht git: // durch Proxy –

+0

Ich hatte auch Probleme, wo meine Gitconfig-Datei wurde nicht ausgewählt up, weil mein Home-Verzeichnis angehängt wurde. Das Ausführen von 'git config --list --show-origin' in git v2.8 und höher hat mir geholfen, alle Konfigurationsdateien zu finden und sicherzustellen, dass sie die gleichen Variablen haben. – WiteCastle

1

Npm und Git verwenden nicht Ihre Windows-Proxy-Einstellungen.

Sie können sie mit konfigurieren:

set HTTP_PROXY=http://user:[email protected]:port 

Siehe auch https://superuser.com/questions/347476/how-to-install-npm-behind-authentication-proxy-on-windows


Wenn Sie Ihre Proxy bekommen arbeiten, können Sie npm install auf einer Maschine laufen, die eine direkte Internet-Verbindung (zB ein Server in der dmz, bei Ihrem Hosting-Provider, in der Cloud usw.) und kopieren Sie dann den Ordner node_modules auf Ihren lokalen Rechner.

+0

versuchte dies auch, und sogar mit cntlm versucht, aber gescheitert :( – sij

0

Die Git-Proxy-Einstellung funktionierte für mich zum Klonen von Repos von Github. Aber wenn ich ein npm-Modul installiere/aktualisiere, das eine Git-URL verwendet, bekomme ich immer noch den Timeout-Fehler. Die Problemumgehung für mich bestand darin, den Proxy manuell in der Datei .git/config für das Repo festzulegen.

[http] 
    proxy = http://proxy.company.com:8888 

Aber warten Sie, es ist mehr: das für einige git url gearbeitet, aber nicht für andere. Die zweite und letzte Abhilfe war die git Proxy stellen Sie sicher, in beiden Benutzerkonfigurationsdateien festgelegt ist, da mein PC ein gemeinsames Netzwerkbenutzer zu Hause hatte auf Ich fahre:

I:\.gitconfig 
C:\Users\<userid>\.gitconfig 

Credits this comment.

Verwandte Themen