Errori Git / Bower: codice di uscita n. 128 e connessione non riuscita


86

Sto usando Bower per installare diverse librerie. A scopo dimostrativo qui, sto installando bootstrap. Indipendentemente dal pacchetto, ricevo i seguenti errori:

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    

Ho provato a utilizzare la seguente soluzione per rimuovere il primo errore, che ho trovato da questa ricerca :

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

Tuttavia, questo non funziona né nessuna delle altre soluzioni trovate in quella pagina. Cercando una soluzione per il 2 ° errore, sembra che l'impostazione di un nome utente / pwd per un server proxy risolverà il problema se ci si trova su una rete aziendale / dietro un firewall. Tuttavia, non sto utilizzando un server proxy poiché sono sul mio PC / rete di casa (Windows 7 x64).

Grazie!

EDIT: finestra di comando con errori:

inserisci qui la descrizione dell'immagine


Possibile duplicato dell'installazione di Bower utilizzando solo https?
Kenorb

ha avuto un problema simile con npme https, risolto congit config --global url."git@github.com:".insteadOf "https://github.com"
grabantot

Risposte:


123

So che questo non "risolve" il problema, ma puoi usarlo

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

per dire a git di usare HTTPS invece di GIT che ha funzionato per me per installare le dipendenze npm.


9
Sono solo io o questo non funziona davvero per nessun altro? Questo è il risultato più alto su Google per praticamente tutte le ricerche relative agli errori bower 128, e dopo aver modificato questa impostazione bower utilizza ancora il protocollo git.
Sanguinosa

1
@Bloodyaugust, non funziona neanche per me. Usa ancoragit://
Logan

1
Questo ha funzionato per me, anche se non sono chiaro quale fosse il problema.
Mendhak

Ha funzionato anche per me, e non so nemmeno perché. @Bloodyaugust, @Logan, hai controllato il tuo file .gitconfig globale ( git config --global --edit)? Solo, sai, per essere sicuro. E qualche .gitconfig più specifico (per utente o per progetto git) potrebbe sovrascriverlo.
Rafael Eyng

2
Ha funzionato per me - Immagino che la porta 22 sia chiusa sulla macchina da lavoro su cui stavo provando. Quindi niente SSH su github :( posso dire di aver eseguito il comando dalla cartella del progetto (git) ... se questo fa diff.
demaniak

34

Invece di eseguire questo comando:

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

dovresti eseguire questo comando:

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

o

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

oppure puoi eseguire git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitma devi fare in modo che git usi sempre https in questo modo:

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

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


Grazie. Ho tentato di forzare git a usare sempre https ma non sono sicuro che funzionasse - vedi l'immagine che ho allegato nel post originale. Gli errori si verificano ancora, indipendentemente dal pacchetto di installazione di bower che provo.
azsl1326

20

Mi sono imbattuto in questo con la mia rete aziendale.

Sembrava strano perché ho sempre usato ssh per connettermi con git e non ho mai avuto problemi.

Ho provato https e non ha funzionato, quindi ho aggiunto le impostazioni del proxy alla configurazione di git e tutto è andato bene

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
git config --global https.proxy https://proxyuser:proxypwd@proxy.server.com:8080

E assicurandomi che funzionasse

git config --list

Grazie ... Questo è stato anche il mio caso. Ho dovuto configurare git per utilizzare il co. proxy ..
Paul T.

Se questo ha funzionato per te e stai usando anche npm, probabilmente dovrai impostare l'equivalente: npm config set proxy http://<your-corporate-proxy>enpm config set https-proxy http://<your-corporate-proxy>
aponzani

1
git config http.sslVerify "false"potrebbe essere necessario anche per alcuni proxy aziendali.
John Fouhy

8

La porta 22 era bloccata sul mio computer. Una volta trovato ciò che lo bloccava e aperto la porta, sono stato in grado di eseguire il bower install cmd senza problemi.


Né la porta 22 né la 9418 aperte in / out per tcp / udp mi hanno sbloccato.
kayleeFrye_onDeck

6

Sembra che azsl1326 non sia riuscito a utilizzare bower (git) sulla porta 9418 (git: //), quindi ha detto a git di utilizzare invece la porta 22 (https: //). Questo non funzionava ancora, ma l'apertura della porta 22 ha ottenuto il risultato desiderato.

La soluzione più diretta è aprire la porta 9418. Questa è la porta utilizzata dal protocollo git: //.


1
Penso che questa dovrebbe essere la risposta accettata, perché questa è chiaramente la porta git 9418 bloccata da un firewall. Almeno questo era il caso del mio server CentOS con firewall CSF.
Christos Lytras,

Né la porta 22 né la 9418 aperte in / out per tcp / udp mi hanno sbloccato.
kayleeFrye_onDeck

Dov'è il tuo repository remoto? Quel server ha quelle porte aperte?
Henry

4

Vai alla cartella dell'applicazione ed esegui questo comando

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

"

Questo dovrebbe risolvere il tuo problema



3

Sei dietro un firewall?

Git non rileva la configurazione del proxy quando viene chiamato, quindi imposta le variabili di ambiente in modo esplicito, ad esempio:

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

Se il tuo proxy aziendale non necessita di autenticazione, ometti semplicemente il username:password@bit negli URL.

Ha funzionato per me!


3

Se il tuo paese blocca GitHub, ad es. Cina continentale, puoi creare un proxy, ad es. Usa goagent e gae, quindi imposta l'indirizzo proxy per git, ad es

git config --global http.proxy 127.0.0.1:8087

2

Questo errore è correlato a una configurazione errata del firewall. Noterai che pergamena sta cercando di contattare git tramite il git://protocollo e non http://. Devi aprire la porta 9418. Aggiungi queste due righe nella configurazione di iptables:

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

Questo dovrebbe fare il trucco.


1

Innanzitutto, dovresti controllare se il prompt dei comandi di Visual Studio riconosce il comando git: Strumenti> Riga di comando

C: \ .... \> git

se questo comando non viene riconosciuto, è necessario aggiungere la cartella git in Variabili d'ambiente

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

Questo è quello che mi mancava e ha fatto il trucco per me.

Spero che sia d'aiuto.


0

Aggiungo la mia risposta qui poiché questa è una delle domande più vicine che corrispondevano alla mia situazione. Stavo cercando di installare select2 piuttosto che bootstrap, ma il risultato è stato lo stesso.

bower install select2ha riferito che git non è stato in grado di individuare la directory. Usato il

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

config fix, ma questo ha provocato un errore (parafrasato)

Non posso usare https

Il mio problema è stato risolto in modo insoddisfacente, poiché riguarda la magia.

Stavo tentando di eseguirlo in una shell dei comandi (cmd.exe, Windows). Ho eseguito lo stesso comando e l'ho eseguito in PowerShell e ha funzionato. ಠ_ಠ

tl; dr: la combinazione di https: // e powershell ha funzionato per me


0

Ho ricevuto questo errore dopo che il mio antivirus aveva messo in quarantena un download da github.com. Per qualche motivo sconosciuto.

Dopo aver cancellato quei file (file exe), tutto ha funzionato.


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

non funzionava per me. Quindi ho trovato questa alternativa:

Vai alla tua cartella temporanea. (cioè se stai usando Windows allora C:\Users\{username}\AppData\Roaming\bower\cache\packages). Lì puoi vedere diversi file. Apri ciascuno di essi e puoi vedere l'URL. Cambialo da git://...a https://...e salva tutti i file.

Ora esegui il file bower install.


o, bower cache cleaninvece , corri .
nightire

0

Controlla le impostazioni di git config ( git config --global --edit). Nel mio caso c'erano un paio di voci non più valide come:

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

Modificali e rimuovili se non ti servono più.


0

Le tue chiavi sono sbagliate. Aggiungili a GitHub / Bitbucket / qualunque cosa tu stia utilizzando. Non è altro che un problema di autorizzazione con le tue chiavi.


0

Tuttavia, non sto utilizzando un server proxy poiché sono sul mio PC / rete di casa

Ho avuto lo stesso problema (ottenere il codice di uscita 128) sulla mia rete domestica ed ero abbastanza sicuro di non utilizzare un proxy. Si è scoperto che Git aveva salvato un proxy che avevo inserito qualche tempo fa - dopo aver guardato intorno nelle configurazioni, l'ho trovato sotto il tag [http].

Sono nuovo di Git, e non sono affatto sicuro se queste configurazioni siano di solito facilmente accessibili - sto usando Tortoise Git, dal momento che non sto facendo nulla di eccezionale e che ha una GUI per le cose.

Spero che la "risposta" aiuti comunque.


0

Nel mio caso era l'accesso alla cartella in cui mi trovavo durante l'esecuzione del comando! Su Windows ho creato prima la cartella dalla riga di comando: mkdir "MyFolder" e ho avuto l'errore. ma se creo la cartella con il mouse, clic destro, creo cartella ecc. Funziona bene!


0

Se ti stai autenticando con bitbucket, dove ricevo l'errore 128 e connessione non riuscita. ma quando si utilizza l'autenticazione dell'hub git funziona bene.


0

So che questa è una vecchia domanda, comunque lasciatemi aggiungere un'altra cosa.

A volte (se sei in un ufficio o in una rete privata) il firewall del tuo server gateway blocca le richieste https (porta 443) dal terminale di comando

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

Usalo per configurare git in modo che utilizzi http su https per queste situazioni


0

Questo ha funzionato per me

Copia il file "libcurl.dll" nella cartella di installazione di Git (C: \ Programmi \ Git \ bin \ libcurl.dll). Incollalo nella posizione in cui esiste git.exe (C: \ Programmi \ Git \ libexec \ git-core).


0

Esegui questi 2 comandi per concedere l'accesso a git tramite il tuo sistema

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

Questi comandi presuppongono che tu abbia la chiave ssh sul server git remoto (bitbucket / github / altro)


0

Mi sono imbattuto anche in questo errore e l'ho risolto aggiornando git. Quando ho eseguito il comando git ls-remote non riuscito, l'errore sottostante era che veniva utilizzata una vecchia versione di tls. Quindi la versione aggiornata di git utilizza la versione successiva di tls.

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


0

ho trovato questo errore sul mio sistema operativo Linux. e risolvo questo problema 1. apri curl log export GIT_CURL_VERBOSE = 1 2.clone git repo 3. trova il log 4. risolvo il problema aggiornando nss e curl (yum update nss nss-util nspr curl)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.