Errores de Git / Bower: código de salida n. ° 128 y conexión fallida

86

Estoy usando Bower para instalar varias bibliotecas. Para fines de demostración aquí, estoy instalando bootstrap. Independientemente del paquete, recibo los siguientes errores:

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    

Intenté usar la siguiente solución para eliminar el primer error, que encontré en esta búsqueda :

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

Sin embargo, esto no funciona ni ninguna de las otras soluciones que se encuentran en esa página. Al buscar una solución para el segundo error, parece que configurar un nombre de usuario / pwd para un servidor proxy resolverá el problema si se encuentra en una red corporativa / detrás de un firewall. Sin embargo, no estoy usando un servidor proxy, ya que estoy en mi PC / red doméstica (Windows 7 x64).

¡Gracias!

EDITAR: Ventana de comando con errores:

ingrese la descripción de la imagen aquí

azsl1326
fuente
¿Posible duplicado de la instalación
kenorb
npmgit config --global url."[email protected]:".insteadOf "https://github.com"
Tuve

Respuestas:

123

Sé que esto no está "solucionando" el problema, pero puedes usar

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

para decirle a git que use HTTPS en lugar de GIT, lo que me funcionó para instalar dependencias npm.

ablais
fuente
9
¿Soy solo yo, o esto no funciona para nadie más? Este es el resultado más alto en Google para prácticamente todas las búsquedas relacionadas con errores de bower 128, y después de cambiar esta configuración, bower todavía usa el protocolo git.
Bloodyaugust
1
@Bloodyaugust, tampoco me funciona. Todavía usagit://
Logan
1
Esto funcionó para mí, aunque no tengo claro cuál era el problema.
Mendhak
También funcionó para mí, y tampoco sé por qué. @Bloodyaugust, @Logan, ¿ha verificado su archivo .gitconfig global ( git config --global --edit)? Solo, ya sabes, para estar seguro. Y algunos .gitconfig más específicos (por usuario o por proyecto de git) podrían anularlo.
Rafael Eyng
2
Funcionó para mí: supongo que el puerto 22 está cerrado en la máquina de trabajo donde estaba probando esto. Entonces, no SSH para github :( Puedo decir que ejecuté el comando desde la carpeta del proyecto (git) ... si eso hace alguna diferencia
demaniak
34

En lugar de ejecutar este comando:

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

deberías ejecutar este comando:

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

o

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

o puede ejecutar, git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitpero necesita hacer que git siempre use https de esta manera:

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

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

antonjs
fuente
Gracias. Intenté forzar a git a usar siempre https pero no estoy seguro de que funcionara; vea la imagen que adjunté en la publicación original. Los errores siguen ocurriendo independientemente del paquete de instalación de bower que pruebe.
azsl1326
20

Me encontré con esto con mi red corporativa.

Parecía extraño porque siempre he estado usando ssh para conectarme con git y nunca tuve un problema.

Probé https y no funcionó, así que agregué configuraciones de proxy a la configuración de git y todo estuvo bien

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

Y asegurándome de que funcionara

git config --list
Frank Fu
fuente
Gracias ... Este fue mi caso también. Tuve que configurar git para usar co. proxy ..
Paul T.
Si esto funcionó para usted y también está usando npm, probablemente necesitará establecer el equivalente: npm config set proxy http://<your-corporate-proxy>ynpm config set https-proxy http://<your-corporate-proxy>
aponzani
1
git config http.sslVerify "false"también podría ser necesario para algunos proxies corporativos.
John Fouhy
8

El puerto 22 estaba bloqueado en mi computadora. Una vez que encontré lo que lo estaba bloqueando y abrí el puerto, pude ejecutar el cmd de instalación de bower sin ningún problema.

azsl1326
fuente
Ni el puerto 22 ni el 9418 se abrieron de entrada / salida para tcp / udp me desbloquearon.
kayleeFrye_onDeck
6

Parece que azsl1326 no pudo usar bower (git) sobre el puerto 9418 (git: //), luego le dijo a git que usara el puerto 22 (https: //) en su lugar. Esto todavía estaba fallando, pero luego al abrir el puerto 22 se obtuvo el resultado deseado.

La solución más directa es abrir el puerto 9418. Este es el puerto que usa el protocolo git: //.

Enrique
fuente
1
Creo que esta debería ser la respuesta aceptada, porque este es claramente el puerto git 9418 bloqueado por un firewall. Al menos este fue el caso en mi servidor CentOS con firewall CSF.
Christos Lytras
Ni el puerto 22 ni el 9418 se abrieron de entrada / salida para tcp / udp me desbloquearon.
kayleeFrye_onDeck
¿Dónde está su repositorio remoto? ¿Ese servidor tiene esos puertos abiertos?
Henry
4

Navegue a la carpeta de su aplicación y ejecute este comando

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

"

Esto debería solucionar tu problema

Ignacio Andrés
fuente
3

¿Estás detrás de un firewall?

Git no recoge la configuración del proxy cuando se le llama, así que establezca las variables de entorno explícitamente, por ejemplo:

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

Si su proxy corporativo no necesita autenticación, simplemente omita el username:password@bit en las URL.

¡Funcionó para mí!

Steve Neal
fuente
3

Si su país bloquea github, por ejemplo, China continental, entonces puede construir un proxy, por ejemplo, use goagent & gae, luego configure la dirección de proxy para git, por ejemplo

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

Este error está relacionado con una mala configuración de su firewall. Notarás que bower intenta contactar a git a través del git://protocolo y no http://. Tienes que abrir el puerto 9418. Agregue estas dos líneas en su configuración de iptables:

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

Esto debería funcionar.

TwystO
fuente
1

En primer lugar, debe verificar si el símbolo del sistema de Visual Studio reconoce el comando git: Herramientas> Línea de comando

C: \ .... \> git

si no se reconoce este comando, debe agregar la carpeta git en Variables de entorno

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

Esto es lo que me estaba perdiendo e hizo el truco por mí.

Espero eso ayude.

rentire
fuente
0

Estoy agregando mi respuesta aquí, ya que esta es una de las preguntas más cercanas que coincidía con mi situación. Estaba tratando de instalar select2 en lugar de bootstrap, pero el resultado fue el mismo.

bower install select2informó que git no pudo localizar el directorio. Usé la

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

config fix, pero eso resultó en un error (parafraseado)

No puedo usar https

Mi problema se resolvió de manera insatisfactoria, ya que involucra magia.

Estaba intentando ejecutar esto en un shell de comandos (cmd.exe, windows). Ejecuté el mismo comando y lo ejecuté en PowerShell y funcionó. ಠ_ಠ

tl; dr: combinación de https: // y powershell funcionó para mí


fuente
0

Recibí este error después de que mi comprobador de virus pusiera en cuarentena una descarga de github.com. Por alguna razón desconocida.

Después de que borré esos archivos (archivos exe), todo funcionó.

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

no estaba funcionando para mí. Entonces encontré esta alternativa:

Ve a tu carpeta temporal. (es decir, si está utilizando Windows, entonces C:\Users\{username}\AppData\Roaming\bower\cache\packages). Allí puede ver varios archivos. Abra cada uno de ellos y podrá ver la URL. Cambiarlo de git://...a https://...y guardar todos los archivos.

Ahora ejecute el bower install.

avadhesh pareek
fuente
o, simplemente, corre bower cache clean.
Nightire
0

Verifique la configuración de su git config ( git config --global --edit). En mi caso, hubo un par de entradas que ya no son válidas como:

[núcleo]
gitproxy = gitproxy.cmd
["https: //"]
["https: //"]
[url "https: //"]

Revíselos y elimínelos si ya no los necesita.

usuario3805793
fuente
0

Tus llaves están mal. Simplemente agréguelos a GitHub / Bitbucket / lo que sea que esté usando. No es más que un problema de permisos con sus claves.

emperador
fuente
0

Sin embargo, no estoy usando un servidor proxy ya que estoy en mi computadora / red doméstica

Tuve el mismo problema (obteniendo el código de salida 128) en mi red doméstica y estaba bastante seguro de que no estaba usando un proxy. Resulta que Git había guardado un proxy que había ingresado en el pasado; después de mirar alrededor en las configuraciones, lo encontré bajo la etiqueta [http].

Soy nuevo en Git, y no estoy del todo seguro, si esas configuraciones suelen ser fácilmente accesibles, estoy usando Tortoise Git, ya que no estoy haciendo nada sofisticado y eso tiene una GUI para las cosas.

Espero que la "respuesta" ayude de todos modos.

flailgull
fuente
0

¡En mi caso fue el acceso a la carpeta donde estaba durante la ejecución del comando! En Windows, creé la carpeta primero con la línea de comando: mkdir "MyFolder" y tuve el error. pero si creo la carpeta con el mouse, hago clic derecho, creo carpeta, etc. ¡Funciona bien!

Matteo Tosato
fuente
0

Si se está autenticando con bitbucket, aparece el error 128 y la conexión fallida. pero cuando se usa la autenticación de git hub, funciona bien.

Narayana
fuente
0

Sé que esta es una vieja pregunta, de todos modos déjame agregar una cosa más.

A veces (si se encuentra en una oficina o en una red privada), el servidor de seguridad de su puerta de enlace bloquea las solicitudes https (puerto 443) desde el terminal de comandos

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

Use esto para configurar el git para usar http sobre https para esas situaciones

Stenal P Jolly
fuente
0

Esto funcionó para mí

Copie el archivo "libcurl.dll" en la carpeta de instalación de Git (C: \ Archivos de programa \ Git \ bin \ libcurl.dll). Péguelo en la ubicación donde existe git.exe (C: \ Archivos de programa \ Git \ libexec \ git-core).

Shashank Gupta
fuente
0

Ejecute estos 2 comandos para otorgar acceso a git a través de su sistema

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

Estos comandos suponen que tiene la clave ssh sobre el servidor git remoto (bitbucket / github / otro)

Vikas Verma
fuente
0

También encontré este error y lo resolví actualizando git. Cuando ejecuté el comando git ls-remote fallido, el error subyacente fue que se estaba utilizando una versión anterior de tls. Entonces, la versión actualizada de git usa una versión posterior de tls.

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

JohnnyFun
fuente
0

Encontré este error en mi sistema operativo Linux. y resuelvo este problema 1. abrir la exportación de registro curl GIT_CURL_VERBOSE = 1 2.clonar el repositorio de git 3. encontrar el registro 4. solucionar el problema actualizando nss y curl (yum update nss nss-util nspr curl)

alking
fuente