0

环境:

  • 微软视窗 10
  • Node.js v0.12.4
  • 鲍尔 v1.65
  • git v2.63
  • 路由器 DD-WRT v24-sp2 (03/13/14) 千兆

当我从项目目录上的标准 Windows 命令提示符运行“Bower install”时,某些包出现以下错误,示例如下;

Download of https://github.com/angular/bower-angular-sanitize/archive/v1.3.20.tar.gz failed with ETIMEDOUT, retrying in 1.9s

最后的错误是;

ECMDERR Failed to execute "git ls-remote --tags   --heads git://github.com/angular/bower-angular-sanitize.git", exit code of #128   fatal: unable to connect to github.com: github.com[0: 192.30.252.131]: errno=No   such file or directory

Additional error details:
fatal: unable to connect to github.com:
github.com[0: 192.30.252.130]: errno=No such file or directory

请注意,这不是特定软件包的问题。

是否可以设置/增加 Bower/Git 的超时时间?

4

1 回答 1

0

允许 git.exe 通过您的软件防火墙。

我使用的是第 3 方防火墙,但您可能使用的是内置的 Windows 防火墙。我已经允许入站和出站访问。

我的 git 可执行文件的位置如下:-(请务必根据需要替换用户名);

C:\Users\USER.NAME\AppData\Local\Programs\Git\cmd\git.exe

如果您再次运行“bower install”,您可能会看到相同的 ETIMEDOUT 错误,但最终错误可能已更改为:

ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/angular/bower-angular-sanitize.git", exit code of #128 fatal: Unable to look up github.com (port 9418) (No such host is known. )

允许 Git ssh 流量通过路由器防火墙。

在网络浏览器中输入路由器的内部 (LAN) IP 地址,例如 192.168.1.1,然后输入用户名和密码以登录 DD-WRT 控制面板。

转到管理->命令,然后添加以下代码;

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

单击保存防火墙按钮。

最后,进入管理 --> 管理,然后点击重启路由器按钮。

在再次尝试“Bower install”之前,请给您的路由器一些时间重新启动。

注意:我注意到“Bower install”仍然一次又一次地失败。有时它需要运行几次才能成功(也许首先“启动”本地 Bower 缓存?)。IMO Bower 安装似乎对网络延迟和超时很敏感。

于 2015-11-22T19:21:30.447 回答