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)