Git / Bower-Fehler: Beenden Sie Code # 128 und fehlgeschlagene Verbindung

86

Ich verwende Bower, um mehrere Bibliotheken zu installieren. Zu Demonstrationszwecken installiere ich hier Bootstrap. Unabhängig vom Paket erhalte ich folgende Fehler:

C:\Scott>bower install bootstrap
bower not-cached    git://github.com/twbs/bootstrap.git#*
bower resolve       git://github.com/twbs/bootstrap.git#*
bower ECMDERR       Failed to execute "git ls-remote --tags --heads git://github
.com/twbs/bootstrap.git", exit code of #128

Additional error details:
fatal: unable to access 'https://github.com/twbs/bootstrap.git/': Failed connect
to github.com:443; No error    

Ich habe versucht, mit der folgenden Lösung den ersten Fehler zu entfernen, den ich bei dieser Suche gefunden habe :

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

Dies funktioniert jedoch nicht und auch keine der anderen auf dieser Seite gefundenen Lösungen. Bei der Suche nach einer Lösung für den zweiten Fehler scheint das Festlegen eines Benutzernamens / pwd für einen Proxyserver das Problem zu beheben, wenn Sie sich in einem Unternehmensnetzwerk / hinter einer Firewall befinden. Ich verwende jedoch keinen Proxyserver, da ich mich auf meinem Heim-PC / Netzwerk (Windows 7 x64) befinde.

Vielen Dank!

EDIT: Befehlsfenster mit Fehlern:

Geben Sie hier die Bildbeschreibung ein

azsl1326
quelle
Mögliches Duplikat der Bower-Installation nur mit https?
Kenorb
hatte ein ähnliches Problem mit npmund https, gelöst mitgit config --global url."[email protected]:".insteadOf "https://github.com"
grabantot

Antworten:

123

Ich weiß, dass dies das Problem nicht "behebt", aber Sie können es verwenden

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

git anzuweisen, HTTPS anstelle von GIT zu verwenden, was für mich funktioniert hat, um npm-Abhängigkeiten zu installieren.

ablais
quelle
9
Ist es nur ich oder funktioniert das eigentlich für niemanden? Dies ist das höchste Ergebnis bei Google für praktisch alle Suchvorgänge im Zusammenhang mit Bower 128-Fehlern. Nach Änderung dieser Einstellung verwendet Bower weiterhin das Git-Protokoll.
Bloodyaugust
1
@Bloodyaugust, es funktioniert auch nicht für mich. Verwendet nochgit://
Logan
1
Das hat bei mir funktioniert, obwohl ich mir nicht sicher bin, wo das Problem liegt.
Mendhak
Hat auch für mich gearbeitet und ich weiß auch nicht warum. @Bloodyaugust, @Logan, haben Sie Ihre globale .gitconfig-Datei ( git config --global --edit) überprüft ? Nur um sicherzugehen. Und eine spezifischere .gitconfig (pro Benutzer oder pro Git-Projekt) könnte dies überschreiben.
Rafael Eyng
2
Hat für mich gearbeitet - ich vermute, Port 22 ist auf der Arbeitsmaschine geschlossen, auf der ich dies versucht habe. Also kein SSH zu github :( Ich kann sagen, dass ich den Befehl aus dem (git) Projektordner ausgeführt habe ... wenn das einen
Unterschied
34

Führen Sie stattdessen diesen Befehl aus:

 git ls-remote --tags --heads git://github.com/twbs/bootstrap.git

Sie sollten diesen Befehl ausführen:

 git ls-remote --tags --heads [email protected]:twbs/bootstrap.git

oder

 git ls-remote --tags --heads https://github.com/twbs/bootstrap.git

oder Sie können ausführen, git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitaber Sie müssen dafür sorgen, dass git https immer folgendermaßen verwendet:

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

Referenz: https://github.com/bower/bower/issues/50

antonjs
quelle
Vielen Dank. Ich habe versucht, git zu zwingen, immer https zu verwenden, bin mir aber nicht sicher, ob es funktioniert - siehe Bild, das ich im Originalbeitrag angehängt habe. Es treten immer noch Fehler auf, unabhängig davon, welches Bower-Installationspaket ich versuche.
Azsl1326
20

Ich bin mit meinem Unternehmensnetzwerk darauf gestoßen.

Es schien seltsam, weil ich immer ssh verwendet habe, um mich mit git zu verbinden, und nie ein Problem hatte.

Ich habe https ausprobiert und es hat nicht funktioniert, also habe ich der Konfiguration von git Proxy-Einstellungen hinzugefügt und alles war in Ordnung

git config --global http.proxy http://proxyuser:[email protected]:8080
git config --global https.proxy https://proxyuser:[email protected]:8080

Und dafür sorgen, dass es funktioniert

git config --list
Frank Fu
quelle
Danke ... Das war auch mein Fall. Ich musste git konfigurieren, um die co zu verwenden. Proxy ..
Paul T.
Wenn dies für Sie funktioniert hat und Sie auch npm verwenden, müssen Sie wahrscheinlich das Äquivalent einstellen: npm config set proxy http://<your-corporate-proxy>undnpm config set https-proxy http://<your-corporate-proxy>
aponzani
1
git config http.sslVerify "false"Möglicherweise wird dies auch für einige Unternehmens-Proxys benötigt.
John Fouhy
8

Port 22 wurde auf meinem Computer blockiert. Nachdem ich herausgefunden hatte, was es blockierte, und den Port geöffnet hatte, konnte ich die Bower-Installation cmd ohne Probleme ausführen.

azsl1326
quelle
Weder Port 22 noch 9418, die für TCP / UDP geöffnet wurden, haben mich entsperrt.
KayleeFrye_onDeck
6

Es scheint, als ob azsl1326 Bower (Git) über Port 9418 (Git: //) nicht verwenden konnte und Git dann angewiesen hat, stattdessen Port 22 (https: //) zu verwenden. Dies schlug immer noch fehl, aber dann bekam das Öffnen von Port 22 das gewünschte Ergebnis.

Die direkteste Lösung besteht darin, Port 9418 zu öffnen. Dies ist der Port, den das git: // -Protokoll verwendet.

Henry
quelle
1
Ich denke, dies sollte die akzeptierte Antwort sein, da dies eindeutig der Git-Port 9418 ist, der von einer Firewall blockiert wird. Zumindest war dies auf meinem CentOS-Server mit CSF-Firewall der Fall.
Christos Lytras
Weder Port 22 noch 9418, die für TCP / UDP geöffnet wurden, haben mich entsperrt.
KayleeFrye_onDeck
Wo ist dein Remote Repo? Hat dieser Server diese Ports geöffnet?
Henry
4

Navigieren Sie zu Ihrem Anwendungsordner und führen Sie diesen Befehl aus

git config --globale URL. "https: //" .insteadOf "git: //

""

Dies sollte Ihr Problem beheben

Ignatius Andrew
quelle
3

Stehen Sie hinter einer Firewall?

Git übernimmt die Proxy-Konfiguration nicht, wenn sie aufgerufen wird. Legen Sie daher Umgebungsvariablen explizit fest, z.

export HTTP_PROXY=http://username:password@proxyserver:port/
export HTTPS_PROXY=http://username:password@proxyserver:port/

Wenn Ihr Unternehmens-Proxy keine Authentifizierung benötigt, lassen Sie das username:password@Bit in den URLs einfach weg .

Es hat bei mir funktioniert!

Steve Neal
quelle
3

Wenn Ihr Land Github blockiert, z. B. das chinesische Festland, können Sie einen Proxy erstellen, z. B. goagent & gae verwenden, und dann die Proxy-Adresse für git festlegen, z

git config --global http.proxy 127.0.0.1:8087
Dahar Youssef
quelle
2

Dieser Fehler hängt mit einer fehlerhaften Konfiguration Ihrer Firewall zusammen. Sie werden feststellen, dass die Laube versucht, git über das git://Protokoll zu kontaktieren und nicht http://. Sie müssen den Port öffnen 9418. Fügen Sie diese beiden Zeilen in Ihre iptables-Konfiguration ein:

iptables -t filter -A INPUT -p tcp --dport 9418 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 9418 -j ACCEPT

Dies sollte den Trick tun.

TwystO
quelle
1

Zunächst sollten Sie überprüfen, ob die Eingabeaufforderung von Visual Studio den Befehl git erkennt: Extras> Befehlszeile

C: \ .... \> git

Wenn dieser Befehl nicht erkannt wird, sollten Sie den Git-Ordner zu Umgebungsvariablen hinzufügen

https://stackoverflow.com/a/26620861/3449657

Dies ist, was ich vermisst und den Trick für mich getan habe.

Ich hoffe es hilft.

rentire
quelle
0

Ich füge hier meine Antwort hinzu, da dies eine der engsten Fragen ist, die meiner Situation entsprachen. Ich habe versucht, select2 anstelle von bootstrap zu installieren, aber das Ergebnis war das gleiche.

bower install select2berichtete, dass git das Verzeichnis nicht finden konnte. Benutzte die

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

Konfigurationsfix, aber das führte zu einem (umschriebenen) Fehler

Ich kann https nicht verwenden

Mein Problem wurde unbefriedigend gelöst, da es sich um Magie handelt.

Ich habe versucht, dies in einer Befehlsshell (cmd.exe, Windows) auszuführen. Ich habe den gleichen Befehl ausgeführt und ihn in Powershell ausgeführt, und es hat funktioniert. ಠ_ಠ

Die Kombination von https: // und Powershell hat bei mir funktioniert


quelle
0

Ich habe diesen Fehler erhalten, nachdem mein Virenprüfer einen Download von github.com unter Quarantäne gestellt hatte. Aus irgendeinem unbekannten Grund.

Nachdem ich diese Dateien (Exe-Dateien) gelöscht hatte, funktionierte alles.

Gervase
quelle
0
git config --global url. "https://".insteadOf "git://"  

arbeitete nicht für mich. Also habe ich diese Alternative gefunden:

Gehen Sie zu Ihrem temporären Ordner. (dh wenn Sie Windows verwenden, dann C:\Users\{username}\AppData\Roaming\bower\cache\packages). Dort sehen Sie mehrere Dateien. Öffnen Sie jeden von ihnen und Sie können die URL sehen. Ändern Sie es aus git://...zu https://...und speichern Sie alle Dateien.

Führen Sie nun die aus bower install.

Avadhesh Pareek
quelle
oder laufen Sie bower cache cleanstattdessen einfach .
Nightire
0

Überprüfen Sie Ihre Git-Konfigurationseinstellungen ( git config --global --edit). In meinem Fall gab es einige nicht mehr gültige Einträge wie:

[core]
gitproxy = gitproxy.cmd
["https: //"]
["https: //"]
[url "https: //"]

Überarbeiten Sie sie und entfernen Sie sie, wenn Sie sie nicht mehr benötigen.

user3805793
quelle
0

Ihre Schlüssel sind falsch. Fügen Sie sie einfach zu GitHub / Bitbucket / hinzu, was auch immer Sie verwenden. Es ist nichts weiter als ein Berechtigungsproblem mit Ihren Schlüsseln.

Kaiser
quelle
0

Ich verwende jedoch keinen Proxyserver, da ich mich auf meinem Heim-PC / Netzwerk befinde

Hatte das gleiche Problem (Exit-Code 128 erhalten) in meinem Heimnetzwerk und war mir ziemlich sicher, dass ich keinen Proxy verwendete. Es stellte sich heraus, dass Git einen Proxy gespeichert hatte, den ich in der Vergangenheit eingegeben hatte - nachdem ich mich in den Konfigurationen umgesehen hatte, fand ich ihn unter dem Tag [http].

Ich bin neu bei Git und ich bin mir überhaupt nicht sicher, ob diese Konfigurationen normalerweise leicht zugänglich sind - ich benutze Tortoise Git, da ich eigentlich nichts Besonderes mache und das eine GUI für die Dinge hat.

Hoffe die "Antwort" hilft trotzdem.

Dreschmöwe
quelle
0

In meinem Fall war der Ordnerzugriff, wo ich mich während der Befehlsausführung befand! Unter Windows habe ich den Ordner zuerst über die Befehlszeile erstellt: mkdir "MyFolder" und ich hatte den Fehler. aber wenn ich den Ordner mit der Maus erstelle, klicken Sie mit der rechten Maustaste, erstellen Sie einen Ordner usw. Funktioniert einwandfrei!

Matteo Tosato
quelle
0

Wenn Sie sich mit Bitbucket authentifizieren, wird der Fehler 128 & Failed Connect angezeigt. Aber wenn Sie den authentifizierenden Git-Hub verwenden, funktioniert er einwandfrei.

Narayana
quelle
0

Ich weiß, dass dies eine alte Frage ist. Lassen Sie mich trotzdem noch etwas hinzufügen.

Manchmal (wenn Sie sich in einem Büro oder einem privaten Netzwerk befinden) blockiert Ihre Gateway-Server-Firewall die https-Anforderungen (Port 443) vom Befehlsterminal

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

Verwenden Sie diese Option, um das Git so zu konfigurieren, dass für diese Situationen http über https verwendet wird

Stenal P Jolly
quelle
0

Das hat bei mir funktioniert,

Kopieren Sie die Datei "libcurl.dll" in den Git-Installationsordner (C: \ Programme \ Git \ bin \ libcurl.dll). Fügen Sie es an der Stelle ein, an der die Datei git.exe vorhanden ist (C: \ Programme \ Git \ libexec \ git-core).

Shashank Gupta
quelle
0

Führen Sie diese beiden Befehle aus, um Git-Zugriff über Ihr System zu gewähren

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa

Diese Befehle setzen voraus, dass Sie einen SSH-Schlüssel über den Remote-Git-Server haben (Bitbucket / Github / Andere).

Vikas Verma
quelle
0

Ich bin auch auf diesen Fehler gestoßen und habe ihn durch Aktualisieren von git behoben. Als ich den fehlgeschlagenen Befehl git ls-remote ausführte, bestand der zugrunde liegende Fehler darin, dass eine alte TLS-Version verwendet wurde. Die aktualisierte Version von git verwendet also eine spätere Version von tls.

https://git-scm.com/download/win

JohnnyFun
quelle
0

Ich habe diesen Fehler auf meinem Linux-Betriebssystem gefunden. und ich löse dieses Problem 1. Öffnen Sie den Curl-Protokoll-Export GIT_CURL_VERBOSE = 1 2. Klonen Sie Git-Repo 3. Finden Sie das Protokoll 4. Ich behebe das Problem durch Aktualisieren von nss und Curl (yum update nss nss-util nspr curl)

alking
quelle