我正在使用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)。
谢谢!
编辑:包含错误的命令窗口:
答案 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://
答案 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)
答案 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。
答案 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的组合为我工作