Erreurs Git / Bower: code de sortie # 128 et échec de la connexion

86

J'utilise Bower pour installer plusieurs bibliothèques. À des fins de démonstration ici, j'installe bootstrap. Quel que soit le colis, je reçois les erreurs suivantes:

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    

J'ai essayé d'utiliser la solution suivante pour supprimer la première erreur - que j'ai trouvée à partir de cette recherche :

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

Cependant, cela ne fonctionne pas ni aucune des autres solutions trouvées sur cette page. À la recherche d'une solution pour la deuxième erreur, il semble que la définition d'un nom d'utilisateur / pwd pour un serveur proxy résoudra le problème si vous êtes sur un réseau d'entreprise / derrière un pare-feu. Cependant, je n'utilise pas de serveur proxy car je suis sur mon PC / réseau domestique (Windows 7 x64).

Merci!

EDIT: fenêtre de commande avec des erreurs:

entrez la description de l'image ici

azsl1326
la source
Possible duplication de l' installation
kenorb
eu un problème similaire avec npmet https, résolu avecgit config --global url."[email protected]:".insteadOf "https://github.com"
grabantot

Réponses:

123

Je sais que cela ne "règle" pas le problème, mais vous pouvez utiliser

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

pour dire à git d'utiliser HTTPS au lieu de GIT, ce qui m'a permis d'installer les dépendances npm.

ablais
la source
9
Est-ce juste moi ou cela ne fonctionne-t-il pas pour quelqu'un d'autre? C'est le résultat le plus élevé sur Google pour pratiquement toutes les recherches relatives aux erreurs bower 128, et après avoir modifié ce paramètre, bower utilise toujours le protocole git.
Bloodyaugust
1
@Bloodyaugust, ça ne marche pas non plus pour moi. Utilise encoregit://
Logan
1
Cela a fonctionné pour moi, même si je ne sais pas quel était le problème.
Mendhak
A également travaillé pour moi, et je ne sais pas pourquoi. @Bloodyaugust, @Logan, avez-vous vérifié votre fichier global .gitconfig ( git config --global --edit)? Juste, tu sais, pour être sûr. Et un .gitconfig plus spécifique (par utilisateur ou par projet git) pourrait le remplacer.
Rafael Eyng
2
A travaillé pour moi - je suppose que le port 22 est fermé sur la machine de travail où j'essayais cela. Donc , pas de SSH pour github :( Je peux dire que je ne lance la commande à partir du dossier de projet (git) ... si cela fait une diff.
demaniak
34

Au lieu d'exécuter cette commande:

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

vous devez exécuter cette commande:

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

ou

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

ou vous pouvez exécuter git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitmais vous devez faire en sorte que git utilise toujours https de cette manière:

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

Référence: https://github.com/bower/bower/issues/50

Antonjs
la source
Merci. J'ai essayé de forcer git à toujours utiliser https mais je ne suis pas sûr que cela fonctionne - voir l'image que j'ai jointe dans le message d'origine. Des erreurs se produisent toujours, quel que soit le package d'installation de bower que j'essaye.
azsl1326
20

Je suis tombé sur cela avec mon réseau d'entreprise.

Cela m'a semblé étrange parce que j'ai toujours utilisé ssh pour me connecter à git et que je n'ai jamais eu de problème.

J'ai essayé https et je n'ai pas fonctionné, j'ai donc ajouté des paramètres de proxy à la configuration de git et tout allait bien

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

Et en s'assurant que ça marche

git config --list
Frank Fu
la source
Merci ... C'était aussi mon cas. J'ai dû configurer git pour utiliser le co. proxy ..
Paul T.
Si cela a fonctionné pour vous et que vous utilisez également npm, vous devrez probablement définir l'équivalent: npm config set proxy http://<your-corporate-proxy>andnpm config set https-proxy http://<your-corporate-proxy>
aponzani
1
git config http.sslVerify "false"peut également être nécessaire pour certains mandataires d'entreprise.
John Fouhy
8

Le port 22 était bloqué sur mon ordinateur. Une fois que j'ai trouvé ce qui le bloquait et que j'ai ouvert le port, j'ai pu exécuter le cmd d'installation de bower sans aucun problème.

azsl1326
la source
Ni le port 22 ni le 9418 étant ouverts / sortants pour tcp / udp ne m'ont débloqué.
kayleeFrye_onDeck
6

Il semble que azsl1326 n'a pas réussi à utiliser bower (git) sur le port 9418 (git: //), puis a dit à git d'utiliser le port 22 (https: //) à la place. Cela échouait toujours, mais l'ouverture du port 22 a obtenu le résultat souhaité.

La solution la plus directe est d'ouvrir le port 9418. Il s'agit du port utilisé par le protocole git: //.

Henri
la source
1
Je pense que cela devrait être l'answear accepté, car il s'agit clairement du port git 9418 bloqué par un pare-feu. Au moins c'était le cas sur mon serveur CentOS avec pare-feu CSF.
Christos Lytras
Ni le port 22 ni le 9418 étant ouverts / sortants pour tcp / udp ne m'ont débloqué.
kayleeFrye_onDeck
Où est votre repo distant? Ce serveur a-t-il ces ports ouverts?
Henry
4

Accédez à votre dossier d'application et exécutez cette commande

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

"

Cela devrait résoudre votre problème

Ignace Andrew
la source
3

Êtes-vous derrière un pare-feu?

Git ne récupère pas la configuration du proxy lorsqu'il est appelé, alors définissez explicitement les variables d'environnement, par exemple:

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

Si votre proxy d'entreprise n'a pas besoin d'authentification, omettez simplement le username:password@bit dans les URL.

Cela a fonctionné pour moi!

Steve Neal
la source
3

Si votre pays bloque github, par exemple la Chine continentale, vous pouvez créer un proxy, par exemple utiliser goagent & gae, puis définir une adresse proxy pour git, par exemple

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

Cette erreur est liée à une mauvaise configuration de votre pare-feu. Vous remarquerez que bower essaie de contacter git via le git://protocole et non http://. Vous devez ouvrir le port 9418. Ajoutez ces deux lignes dans votre configuration iptables:

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

Cela devrait faire l'affaire.

TwystO
la source
1

Tout d'abord, vous devez vérifier si l'invite de commande Visual Studio reconnaît la commande git: Outils> Ligne de commande

C: \ .... \> git

si cette commande n'est pas reconnue, vous devez ajouter le dossier git dans les variables d'environnement

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

C'est ce qui me manquait et a fait l'affaire pour moi.

J'espère que cela aide.

louer
la source
0

J'ajoute ma réponse ici car c'est l'une des questions les plus proches qui correspond à ma situation. J'essayais d'installer select2 plutôt que bootstrap, mais le résultat était le même.

bower install select2a signalé que git n'a pas pu localiser le répertoire. Utilisé le

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

correctif de configuration, mais cela a entraîné une erreur (paraphrasée)

Je ne peux pas utiliser https

Mon problème a été résolu de manière insatisfaisante, car il implique de la magie.

J'essayais de l'exécuter dans un shell de commande (cmd.exe, windows). J'ai exécuté la même commande et l'ai exécutée dans PowerShell et cela a fonctionné. ಠ_ಠ

tl; dr: combinaison de https: // et powershell a fonctionné pour moi


la source
0

J'ai eu cette erreur après que mon antivirus ait mis en quarantaine un téléchargement depuis github.com. Pour une raison inconnue.

Après avoir effacé ces fichiers (fichiers exe), tout a fonctionné.

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

ne fonctionnait pas pour moi. J'ai donc trouvé cette alternative:

Accédez à votre dossier temporaire. (c'est-à-dire si vous utilisez Windows alors C:\Users\{username}\AppData\Roaming\bower\cache\packages). Là, vous pouvez voir plusieurs fichiers. Ouvrez chacun d'eux et vous pouvez voir l'URL. Changez - le de git://...pour https://...et enregistrer tous les fichiers.

Exécutez maintenant le fichier bower install.

avadhesh pareek
la source
ou, exécutez simplement à la bower cache cleanplace.
nightire
0

Vérifiez vos paramètres de configuration git ( git config --global --edit). Dans mon cas, il y avait quelques entrées non valides comme:

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

Révisez-les et supprimez-les si vous n'en avez plus besoin.

user3805793
la source
0

Vos clés sont fausses. Ajoutez-les simplement à GitHub / Bitbucket / tout ce que vous utilisez. Ce n'est rien de plus qu'un problème d'autorisation avec vos clés.

kaiser
la source
0

Cependant, je n'utilise pas de serveur proxy car je suis sur mon ordinateur / réseau domestique

J'ai eu le même problème (obtenir le code de sortie 128) sur mon réseau domestique et j'étais tout à fait sûr que je n'utilisais pas de proxy. Il s'avère que Git avait enregistré un proxy que j'avais entré il y a quelque temps - après avoir regardé dans les configurations, je l'ai trouvé sous la balise [http].

Je suis nouveau sur Git, et je ne suis pas du tout sûr, si ces configurations sont généralement facilement accessibles - j'utilise Tortoise Git, car je ne fais vraiment rien d'extraordinaire et qui a une interface graphique pour les choses.

J'espère que la "réponse" aide néanmoins.

fléau
la source
0

Dans mon cas, c'était l'accès au dossier où j'étais lors de l'exécution de la commande! Sous Windows, j'ai d'abord créé le dossier par ligne de commande: mkdir "MyFolder" et j'ai eu l'erreur. mais si je crée le dossier avec la souris, faites un clic droit, créez un dossier, etc. Fonctionne très bien!

Matteo Tosato
la source
0

Si vous vous authentifiez avec bitbucket, où j'obtiens l'erreur 128 et la connexion a échoué. mais lorsque vous utilisez l'authentification de git hub, cela fonctionne bien.

Narayana
la source
0

Je sais que c'est une vieille question, permettez-moi de toute façon d'ajouter une dernière chose.

Parfois (si vous êtes dans un bureau ou un réseau privé) votre pare-feu de serveur de passerelle bloque les requêtes https (port 443) du terminal de commande

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

Utilisez ceci pour configurer le git pour utiliser http sur https pour ces situations

Stenal P Jolly
la source
0

Cela a fonctionné pour moi,

Copiez le fichier "libcurl.dll" dans le dossier d'installation de Git (C: \ Program Files \ Git \ bin \ libcurl.dll). Collez-le à l'emplacement où git.exe existe (C: \ Program Files \ Git \ libexec \ git-core).

Shashank Gupta
la source
0

Exécutez ces 2 commandes pour accorder l'accès à git via votre système

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

Ces commandes supposent que vous avez la clé ssh sur le serveur git distant (bitbucket / github / autre)

Vikas Verma
la source
0

J'ai également rencontré cette erreur et je l'ai résolue en mettant à jour git. Lorsque j'ai exécuté la commande git ls-remote ayant échoué, l'erreur sous-jacente était qu'une ancienne version de tls était utilisée. La version mise à jour de git utilise une version ultérieure de tls.

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

JohnnyFun
la source
0

J'ai trouvé cette erreur sur mon système d'exploitation Linux. et je résous ce problème 1. ouvrir l'exportation du journal curl GIT_CURL_VERBOSE = 1 2. clone git repo 3. trouver le journal 4. je résout le problème en mettant à jour nss et curl (yum update nss nss-util nspr curl)

alking
la source