Git / Bower错误:退出代码#128&连接失败

时间:2014-02-04 05:42:46

标签: git bower

我正在使用Bower安装多个库。为了演示目的,我正在安装bootstrap。无论包装如何,我都会收到以下错误:

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    

我尝试使用以下解决方案删除第一个错误 - 我从此search找到了错误:

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

但是,这不起作用,也不会在该页面上找到任何其他解决方案。搜索第二个错误的解决方案,如果您在公司网络上/防火墙后面,似乎为代理服务器设置用户名/密码将解决问题。但是,我没有使用代理服务器,因为我在家用电脑/网络上(Windows 7 x64)。

谢谢!

编辑:包含错误的命令窗口:

enter image description here

24 个答案:

答案 0 :(得分:122)

我知道这不是"修复"问题,但你可以使用

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

告诉git使用HTTPS代替GIT,这对我来说是安装npm依赖项的。

答案 1 :(得分:34)

而不是运行此命令:

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

你应该运行这个命令:

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

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

或者您可以运行git ls-remote --tags --heads git://github.com/twbs/bootstrap.git但是您需要让git始终以这种方式使用https:

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

参考:https://github.com/bower/bower/issues/50

答案 2 :(得分:20)

我在公司网络上遇到过这个问题。

这看起来很奇怪,因为我一直在使用ssh来连接git,从来没有遇到过问题。

我尝试过https并且没有工作,所以我将代理设置添加到git的配置中,一切都很顺利

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

并确保它有效

git config --list

答案 3 :(得分:8)

端口22在我的计算机上被阻止。一旦我找到阻止它并打开端口的东西,我就可以毫无问题地运行bower install cmd。

答案 4 :(得分:6)

似乎azsl1326未能通过端口9418(git://)使用bower(git),然后告诉git使用端口22(https://)。这仍然失败,但随后打开端口22得到了预期的结果。

最直接的解决方案是打开端口9418.这是git://协议使用的端口。

答案 5 :(得分:4)

导航到您的应用程序文件夹并运行此命令

  

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

"

这应该可以解决您的问题

答案 6 :(得分:3)

也许您需要generate an ssh key,因此您通过github进行了身份验证。

答案 7 :(得分:3)

你是否在防火墙后面?

Git在调用时不会接收代理配置,因此请明确设置环境变量,例如:

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

如果您的公司代理不需要身份验证,请忽略网址中的username:password@位。

它对我有用!

答案 8 :(得分:3)

如果您的国家/地区阻止了github,例如中国大陆,那么你可以建立代理,例如使用goagent& gae,然后为git设置代理地址,例如

git config --global http.proxy 127.0.0.1:8087

答案 9 :(得分:2)

此错误与防火墙配置错误有关。您会注意到bower试图通过git://协议而不是http://联系git。您必须打开端口9418。在iptables配置中添加以下两行:

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

这应该可以解决问题。

答案 10 :(得分:1)

首先,您应该检查Visual Studio命令提示符是否识别git命令: 工具>命令行

C:\ .... \> git

如果无法识别此命令,则应将git文件夹添加到Environment Variables

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

这就是我所缺少的,并为我做了诀窍。

希望它有所帮助。

答案 11 :(得分:0)

如果您使用bitbucket进行身份验证,我会收到错误128&连接失败。但是当使用身份验证git hub时它工作正常。

答案 12 :(得分:0)

我在我的linux操作系统上发现了这个错误。 我解决了这个问题 1.打开卷曲日志 export GIT_CURL_VERBOSE = 1 2.clone git repo 3.找到日志 4.我通过更新nss和curl解决问题(yum update nss nss-util nspr curl)

答案 13 :(得分:0)

我知道这是一个老问题,无论如何我还要补充一点。

有时(如果您在办公室或专用网络中),您的网关服务器防火墙会阻止来自命令终端的https请求(端口443)

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

使用此命令将git配置为使用http over https进行那些环境

答案 14 :(得分:0)

这对我有用,

复制文件" libcurl.dll"在Git安装文件夹(C:\ Program Files \ Git \ bin \ libcurl.dll)中。将其粘贴到git.exe所在的位置(C:\ Program Files \ Git \ libexec \ git-core)。

答案 15 :(得分:0)

运行这两个命令以通过您的系统授予git访问权限

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

这些命令假设你有远程git服务器上的ssh密钥(bitbucket / github / other)

答案 16 :(得分:0)

我也遇到了这个错误,并通过更新git解决了。当我运行失败的git ls-remote命令时,底层错误是正在使用旧的tls版本。所以git的更新版本使用了更新版本的tls。

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

答案 17 :(得分:0)

在我的情况下是文件夹访问我在命令执行期间的位置! 在Windows上我首先通过命令行创建了文件夹:mkdir" MyFolder"我有错误。 但如果我用鼠标创建文件夹,右键单击,创建文件夹等。 工作正常!

答案 18 :(得分:0)

  

但是,我没有使用代理服务器,因为我在家用电脑/网络上

在我的家庭网络上遇到同样的问题(获取退出代码128)并且非常确定我没有使用代理。事实证明,Git已经保存了我过去一段时间进入的代理 - 在查看配置后,我发现它在[http]标签下。

我是Git的新手,我完全不确定,如果这些配置通常很容易访问 - 我正在使用Tortoise Git,因为我没有做任何真正的事情,而且事物的GUI。

希望"回答"尽管如此。

答案 19 :(得分:0)

你的钥匙错了。只需将它们添加到GitHub / Bitbucket /无论您使用什么。这只不过是您的密钥的权限问题。

答案 20 :(得分:0)

检查您的git配置设置(git config --global --edit)。在我的情况下,有几个不再有效的条目,如:

  

[芯]
    gitproxy = gitproxy.cmd
  [ “HTTPS://”]
  [ “HTTPS://”]
  [url“https://”]

如果您不再需要它们,请修改它们并删除。

答案 21 :(得分:0)

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

不适合我。所以我发现了这个替代方案:

转到临时文件夹。 (即如果你使用的是Windows C:\Users\{username}\AppData\Roaming\bower\cache\packages)。在那里你可以看到几个文件。打开它们中的每一个,您就可以看到URL。将其从git://...更改为https://...并保存所有文件。

现在运行bower install

答案 22 :(得分:0)

我的病毒检查程序已从github.com隔离下载后出现此错误。原因不明。

我清除了那些文件(exe文件)之后一切正常。

答案 23 :(得分:0)

我在这里添加了答案,因为这是与我的情况相符的最接近的问题之一。试图安装select2而不是bootstrap,但结果是一样的。

bower install select2报告git无法找到该目录。使用了

  

git config --global url。“https://”.insteadOf git://

配置修复,但导致(释义)错误

  

我无法使用https

我的问题得到了令人不满的解决,因为它涉及魔法。

我试图在命令shell(cmd.exe,windows)中运行它。我运行相同的命令并在powershell中运行它并且它工作。的ಠ_ಠ

tl; dr:https://和powershell的组合为我工作