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

我正在使用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 

我曾尝试使用以下解决scheme来删除第一个错误 – 我从这个search中find:

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

但是,这不起作用,也没有在该页面上find任何其他解决scheme。 search第二个错误的解决scheme,似乎设置代理服务器的用户名/密码将解决问题,如果您在企业networking/防火墙之后。 但是,我没有使用代理服务器,因为我在家用电脑/networking(Windows 7 x64)上。

谢谢!

编辑:与错误的命令窗口:

在这里输入图像说明

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

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

告诉git使用HTTPS而不是GIT,它为我安装了npm依赖关系。

而不是运行这个命令:

  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

我通过我的公司networking发现了这个问题。

这似乎很奇怪,因为我一直使用ssh连接到git,从来没有问题。

我尝试了https,并没有工作,所以我添加代理设置混帐的configuration,一切都很好

 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 

端口22被阻止在我的电脑上。 一旦我发现什么阻塞它,并打开端口,我能够运行bower install cmd没有任何问题。

看起来好像azsl1326不能通过端口9418(git://)使用bower(git),然后告诉git使用端口22(https://)。 这仍然是失败的,但随后开放22港口得到了预期的结果。

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

也许你需要生成一个SSH密钥,所以你用github进行身份validation。

此错误与防火墙的错误configuration有关。 你会注意到试图通过git://协议联系git,而不是http:// 。 你必须打开端口9418 。 将这两行添加到你的iptablesconfiguration中:

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

这应该做的伎俩。

你在防火墙后面吗?

Git在调用时不会select代理configuration,因此显式设置环境variables,例如:

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

如果您的公司代理不需要身份validation,只需在URL中省略username:password@位。

它为我工作!

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

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

这应该解决您的问题

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

 git config --global http.proxy 127.0.0.1:8087 

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

C:\ …. \> git

如果这个命令不被识别,你应该把git文件夹添加到环境variables中

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

这是我错过了,为我做了诡计。

希望能帮助到你。

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

bower install select2报告git无法find目录。 使用了

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

configuration修复,但导致(释义)的错误

我不能使用https

我的问题解决得不是很令人满意,因为它牵涉到魔法。

我试图在命令行(cmd.exe,windows)中运行这个。 我跑了相同的命令,并在PowerShell中运行它,它的工作。 ಠ_ಠ

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

我的病毒检查程序从github.com上隔离了一个下载后,我得到了这个错误。 原因不明。

我清除这些文件(exe文件)后,一切工作。

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

没有为我工作。 所以我find了这个select:

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

现在运行bower install

检查你的gitconfiguration设置( git config --global --edit )。 在我的情况下,有一些不再有效的条目,如:

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

修改他们,并删除,如果你不再需要他们了。

你的钥匙是错的 只要将它们添加到GitHub / Bitbucket /无论你正在使用。 这只不过是你的密钥的权限问题。

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

有同样的问题(退出代码128)在我的家庭networking,并确定我没有使用代理服务器。 事实certificate,Git保存了一个我之前进入过的代理服务器,在configuration文件中查看后,我在[http]标签下find了它。

我是Git的新手,而且我一点也不确定,如果这些configuration通常很容易访问的话 – 我正在使用Tortoise Git,因为我没有做任何真正的事情,而且有GUI的东西。

希望“答案”有帮助。

在我的情况下是在命令执行过程中的文件夹访问! 在Windows上我首先通过命令行创build文件夹:mkdir“MyFolder”,我有错误。 但如果我用鼠标创build文件夹,右键单击,创build文件夹等工作正常!

如果您正在使用bitbucket进行身份validation,那么出现错误128&失败连接。 但是当使用身份validationgit枢纽工作正常。

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

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

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

使用这个来configurationgit使用http over https来处理这些情况

这对我有用,

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

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

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

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