web-dev-qa-db-ger.com

git ist blockiert, wie man npm module installiert

Wir sind über einen Proxy verbunden und hier ist git blockiert (nicht die Website, sondern auf git //:) Wir haben versucht, mit egit "git on windows", mit und ohne Proxy, aber es ist kein einzelner Klon auf local passiert .

Nun ist das Problem, npm-Module zu installieren. Ich habe versucht, Module (Zip) von der git-Website (über das Web) herunterzuladen. Dabei wurde die lokale Installation ausprobiert, die funktionierte, aber das Problem ist eine enorme Anzahl von Abhängigkeiten. Es ist nicht einfach zu ziehen Module nacheinander, um Abhängigkeiten (und innere Abhängigkeiten) zu füllen .

Wie ich dieses Problem lösen kann, gibt es drei Möglichkeiten, um eine Lösung zu finden:

  • Erlaube git Tunneln durch die Firewall (ich habe keine Freunde im n/w Team).
  • Schlagen Sie mir eine Möglichkeit vor, Module mit Abhängigkeiten über http: // (und nicht git: //) zu ziehen, wenn Sie npm install ausführen.
  • Herunterladen von git-Website-Modulen + vollständige Abhängigkeiten in einer Einstellung.
27
sij

Aus dieser Antwort kopiert https://stackoverflow.com/a/10729634/1095114


Wenn dies ein Problem mit Ihrer Firewall ist, die den git: protocol-Port (9418) blockiert, sollten Sie eine dauerhaftere Änderung vornehmen, damit Sie nicht daran denken müssen, Befehle zu verwenden, die von anderen Beiträgen für jedes Git-Repo vorgeschlagen werden. Dies funktioniert auch nur für Submodule, die möglicherweise auch das git://-Protokoll verwenden.

Geben Sie einfach den folgenden Befehl ein:

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

Dies fügt einfach die folgenden zwei Zeilen zu ~/.gitconfig hinzu:

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

Nun, wie von Zauberhand, führen alle git-Befehle git:// durch https:// aus.

60
Noah

Npm und git verwenden Ihre Windows Proxy-Einstellungen nicht.

Sie können sie konfigurieren mit:

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 Ihr Proxy nicht funktioniert, können Sie npm install auf einem Computer ausführen, der über eine direkte Internetverbindung verfügt (z. B. ein Server im dmz, bei Ihrem Hosting-Provider, in der Cloud usw.), und anschließend den Ordner node_modules in Ihren lokale Maschine.

1
laktak

Die Einstellung von git proxy funktionierte für mich beim Klonen von Repos von github. Wenn ich jedoch ein npm-Modul mit git-URL installiere/aktualisiere, bekomme ich immer noch den Timeout-Fehler. Die Problemumgehung bestand für mich darin, den Proxy manuell in der .git/config-Datei für das Repo festzulegen.

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

Aber warten Sie, es gibt noch mehr: Dies funktionierte für einige Git-URLs, aber nicht für andere. Die zweite und letzte Problemumgehung bestand darin, sicherzustellen, dass der git-Proxy in beiden Benutzerkonfigurationsdateien festgelegt ist, da mein PC über einen gemeinsam genutzten Netzwerkbenutzer auf dem Laufwerk verfügt:

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

Credits zu diesem Kommentar .

0
Florin D