Erros Git / Bower: Código de saída nº 128 e falha na conexão


86

Estou usando o Bower para instalar várias bibliotecas. Para fins de demonstração aqui, estou instalando o bootstrap. Independentemente do pacote, recebo os seguintes erros:

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    

Tentei usar a seguinte solução para remover o primeiro erro - que encontrei nesta pesquisa :

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

No entanto, isso não funciona, nem qualquer uma das outras soluções encontradas nessa página. Procurando uma solução para o segundo erro, parece que definir um nome de usuário / pwd para um servidor proxy resolverá o problema se você estiver em uma rede corporativa / atrás de um firewall. No entanto, não estou usando um servidor proxy porque estou no meu pc / rede doméstica (windows 7 x64).

Obrigado!

EDIT: Janela de comando com erros:

insira a descrição da imagem aqui


Possível duplicata da instalação
Kenorb

tive um problema semelhante com npme https, resolvido comgit config --global url."git@github.com:".insteadOf "https://github.com"
grabantot 02 de

Respostas:


123

Eu sei que isso não é "consertar" o problema, mas você pode usar

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

para dizer ao git para usar HTTPS em vez de GIT, o que funcionou para eu instalar dependências npm.


9
Sou só eu ou não funciona realmente para mais ninguém? Este é o maior resultado no google para praticamente todas as pesquisas referentes a erros 128 do bower, e depois de alterar essa configuração, o bower ainda usa o protocolo git.
Bloodyaugust

1
@Bloodyaugust, também não funciona para mim. Ainda usagit://
Logan

1
Isso funcionou para mim, embora eu não tenha certeza de qual era o problema.
Mendhak

Também funcionou para mim, e também não sei por quê. @Bloodyaugust, @Logan, você verificou seu arquivo .gitconfig global ( git config --global --edit)? Apenas, você sabe, para ter certeza. E alguns .gitconfig mais específicos (por usuário ou por projeto git) podem estar substituindo-o.
Rafael Eyng,

2
Funcionou para mim - estou supondo que a porta 22 está fechada na máquina de trabalho onde eu estava tentando fazer isso. Portanto, nenhum SSH para o github :( Posso dizer que
executei

34

Em vez de executar este comando:

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

você deve executar este comando:

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

ou

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

ou você pode executar, git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitmas precisa fazer com que o git sempre use https desta forma:

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

Referência: https://github.com/bower/bower/issues/50


Obrigado. Eu tentei forçar o git a sempre usar https, mas não tenho certeza se funcionou - veja a imagem que anexei no post original. Os erros ainda estão ocorrendo, não importa qual pacote de instalação do bower eu tente.
azsl1326

20

Me deparei com isso com minha rede corporativa.

Pareceu estranho porque sempre usei o ssh para me conectar com o git e nunca tive um problema.

Tentei https e não funcionou, então adicionei configurações de proxy à configuração do git e tudo estava bem

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 certificando-se de que funcionou

git config --list

Obrigado ... Este foi o meu caso também. Tive que configurar o git para usar o co. proxy ..
Paul T.

Se isso funcionou para você e você também está usando o npm, provavelmente precisará definir o 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"pode ser necessário para alguns proxies corporativos também.
John Fouhy

8

A porta 22 estava sendo bloqueada no meu computador. Assim que descobri o que o estava bloqueando e abri a porta, consegui executar o cmd de instalação do bower sem problemas.


Nem a porta 22 ou 9418 sendo aberta para entrada / saída para tcp / udp me desbloqueou.
kayleeFrye_onDeck

6

Parece que azsl1326 falhou ao usar o bower (git) na porta 9418 (git: //), então disse ao git para usar a porta 22 (https: //). Isso ainda estava falhando, mas então a abertura da porta 22 obteve o resultado desejado.

A solução mais direta é abrir a porta 9418. Esta é a porta que o protocolo git: // usa.


1
Eu acho que essa deve ser a resposta aceita, porque esta é claramente a porta 9418 do git sendo bloqueada por um firewall. Pelo menos esse foi o caso no meu servidor CentOS com firewall CSF.
Christos Lytras

Nem a porta 22 ou 9418 sendo aberta para entrada / saída para tcp / udp me desbloqueou.
kayleeFrye_onDeck

Onde está seu repo remoto? Esse servidor tem essas portas abertas?
Henry,

4

Navegue até a pasta do aplicativo e execute este comando

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

"

Isso deve resolver o seu problema



3

Você está atrás de um firewall?

O Git não pega a configuração do proxy quando é chamado, então defina as variáveis ​​de ambiente explicitamente, por exemplo:

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

Se o seu proxy corporativo não precisar de autenticação, apenas omita o username:password@bit nas URLs.

Funcionou para mim!


3

Se o seu país bloqueia o github, por exemplo, China continental, então você pode construir um proxy, por exemplo, usar goagent & gae, e definir o endereço do proxy para git, por exemplo

git config --global http.proxy 127.0.0.1:8087

2

Este erro está relacionado a uma configuração incorreta do seu firewall. Você notará que o cara está tentando entrar em contato com o git via git://protocolo e não http://. Você tem que abrir a porta 9418. Adicione estas duas linhas na configuração do iptables:

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

Isso deve funcionar.


1

Em primeiro lugar, você deve verificar se o prompt de comando do Visual Studio reconhece o comando git: Ferramentas> Linha de comando

C: \ .... \> git

se este comando não for reconhecido, você deve adicionar a pasta git em Variáveis ​​de Ambiente

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

Isso é o que eu estava perdendo e fez o truque para mim.

Espero que ajude.


0

Estou adicionando minha resposta aqui, pois esta é uma das perguntas mais próximas que correspondem à minha situação. Estava tentando instalar o select2 em vez do bootstrap, mas o resultado foi o mesmo.

bower install select2relatou que o git não conseguiu localizar o diretório. Usei o

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

correção de configuração, mas isso resultou em um erro (parafraseado)

Não consigo usar https

Meu problema foi resolvido de forma insatisfatória, pois envolve mágica.

Eu estava tentando executar isso em um shell de comando (cmd.exe, windows). Eu executei o mesmo comando e executei no PowerShell e funcionou. ಠ_ಠ

tl; dr: combinação de https: // e powershell funcionou para mim


0

Recebi este erro depois que meu verificador de vírus colocou em quarentena um download de github.com. Por algum motivo desconhecido.

Depois de limpar os arquivos (arquivos exe), tudo funcionou.


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

não estava funcionando para mim. Então, encontrei esta alternativa:

Vá para sua pasta temporária. (ou seja, se você estiver usando o Windows C:\Users\{username}\AppData\Roaming\bower\cache\packages). Lá você pode ver vários arquivos. Abra cada um deles e você verá o URL. Altere de git://...para https://...e salve todos os arquivos.

Agora execute o bower install.


ou apenas corra bower cache clean.
Nightire

0

Verifique as configurações do git ( git config --global --edit). No meu caso, havia algumas entradas não mais válidas, como:

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

Revise-os e remova-os se não precisar mais deles.


0

Suas chaves estão erradas. Basta adicioná-los ao GitHub / Bitbucket / o que quer que você esteja usando. Não é nada mais do que um problema de permissão com suas chaves.


0

No entanto, não estou usando um servidor proxy porque estou no meu pc / rede doméstica

Tive o mesmo problema (obtendo o código de saída 128) em minha rede doméstica e tinha certeza de que não estava usando um proxy. Acontece que o Git salvou um proxy que eu havia inserido há algum tempo - depois de procurar nas configurações, encontrei-o sob a tag [http].

Eu sou novo no Git, e não tenho certeza, se essas configurações são geralmente facilmente acessíveis - estou usando o Tortoise Git, já que não estou fazendo nada muito sofisticado e tem uma GUI para as coisas.

Espero que a "resposta" ajude mesmo assim.


0

No meu caso foi a pasta de acesso onde eu estava durante a execução do comando! No windows criei a pasta primeiro pela linha de comando: mkdir "MyFolder" e tive o erro. mas se eu criar a pasta com o mouse, clique com o botão direito, crie a pasta etc. Funciona bem!


0

Se você estiver autenticando com bitbucket, obtenho o erro 128 e falha na conexão. mas ao usar o hub de autenticação git está funcionando bem.


0

Eu sei que esta é uma questão antiga, de qualquer forma, deixe-me acrescentar mais uma coisa.

Às vezes (se você estiver em um escritório ou rede privada), o firewall do servidor de gateway bloqueia as solicitações https (porta 443) do terminal de comando

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

Use isso para configurar o git para usar http em vez de https para essas situações


0

Isso funcionou para mim,

Copie o arquivo "libcurl.dll" na pasta de instalação do Git (C: \ Arquivos de programas \ Git \ bin \ libcurl.dll). Cole-o no local onde existe o git.exe (C: \ Arquivos de programas \ Git \ libexec \ git-core).


0

Execute estes 2 comandos para conceder acesso git através do seu sistema

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

Esses comandos pressupõem que você tem a chave ssh no servidor git remoto (bitbucket / github / outro)


0

Também encontrei esse erro e resolvi atualizando o git. Quando executei o comando git ls-remote com falha, o erro subjacente era que uma versão antiga do tls estava sendo usada. Portanto, a versão atualizada do git usa a versão posterior do tls.

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


0

Eu encontrei esse erro no meu sistema operacional Linux. e eu resolvo esse problema 1. abra curl log export GIT_CURL_VERBOSE = 1 2.clone git repo 3. localize o log 4. Corrijo o problema atualizando nss e curl (yum update nss nss-util nspr curl)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.