鲍尔呼叫由公司代理封锁
我正在尝试使用Bower作为一个networking应用程序,但是却发现自己遇到了一些代理问题:
D:\>bower search jquery bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 1.2s bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 2.5s bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 6.8s bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 15.1s bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 20.3s bower ECONNRESET Request to https://bower.herokuapp.com/packages/search/jquery failed: tunneling socket could not be established, cause=Parse Error
相关要点:
- 我可以浏览到https://bower.herokuapp.com/packages/search/jquery ,它会返回一个完整的json响应。
- 我可以使用git克隆,都使用git://协议和http(s)。
- 没有这些问题,我可以直接使用NPM
- 我尝试使用Fiddler来确定什么被阻止,但是它不检测来自Bower命令的任何调用。 我可以在Fiddler中看到来自NPM命令的调用。
- 我search了鲍尔的问题清单,看到类似的问题,但他们要么没有解决scheme,或者看起来不像我的一样。
有任何想法吗?
谢谢@ user3259967
这做了这个工作。
我想补充一点,如果你在一个需要authentication的代理之后,你可以把用户名/密码添加到你的.bowerrc文件中。
{ "directory": "library", "registry": "http://bower.herokuapp.com", "proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/", "https-proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/" }
注意在https-proxy中使用http://
我的解决scheme是这个configuration.bowerrc
{ "directory": "vendor", "registry": "http://bower.herokuapp.com", "proxy": "http://<user>:<pwd>@proxy.host.br:8080", "https-proxy": "http://<user>:<pwd>@proxy.host.br:8080", "strict-ssl": false }
使用http协议中的http协议加上使用http协议的registry项。
请记住将8080端口号更改为您的代理服务器端口。
你是在代理的背后?
你有没有设置环境variablesHTTP_PROXY和HTTPS_PROXY?
SET HTTP_PROXY=http://yourproxyserver:yourproxyport SET HTTPS_PROXY=http://yourproxyserver:yourproxyport
尝试更改.bowerrc中的registry值:
{ "registry": "http://bower.herokuapp.com" }
我没有.bowerrc文件来configuration我的凉亭设置。 我发现生活在一个名为defaults.js的文件中。 在“C:\ … \ bower \ node_modules \ bower-config \ lib \ util \ defaults.js ”下find
我希望这可以帮助别人:
var defaults = { 'cwd': process.cwd(), 'directory': 'bower_components', 'registry': 'http://bower.herokuapp.com', 'shorthand-resolver': 'git://github.com/{{owner}}/{{package}}.git', 'tmp': paths.tmp, 'proxy': '<<http://user:pass@proxy:port>>', // change proxy here or at the top 'https-proxy': '<<http://user:pass@proxy:port>>', // change proxy here or at the top 'timeout': 30000, 'ca': { search: [] }, 'strict-ssl': false, 'user-agent': userAgent, 'color': true, 'interactive': null, 'storage': { packages: path.join(paths.cache, 'packages'), links: path.join(paths.data, 'links'), completion: path.join(paths.data, 'completion'), registry: path.join(paths.cache, 'registry'), empty: path.join(paths.data, 'empty') // Empty dir, used in GIT_TEMPLATE_DIR among others } }; module.exports = defaults;
你可以尝试build议@thebignet在GitHub相同的问题
将proxy
, https-proxy
和strict-ssl
configuration设置为.bowerrc
文件:
{ "proxy" : "http://<host>:<port>", "https-proxy" : "http://<host>:<port>", "strict-ssl" : false }
但是你必须从terminal运行命令:
git config --global url."https://".insteadOf git://
对于Win 7 。
什么对我来说,是在这个链接build议下面的步骤 – 阅读#nanowizard答案。
-
在
.bowerrc
文件中,删除您之前完成的任何http_proxy / https_proxy设置。 这个很重要。 所以这个文件的最终内容应该是这样的:{ "directory": "app/bower_components" }
-
在您的PC中设置环境variables –
http_proxy
和https_proxy
到您的公司防火墙代理。 如果您的公司代理需要身份validation,并且您的密码包含特殊字符,请按照此链接的build议将其转换为hex格式 。 在我的情况下用'\'转义字符没有帮助。 另外我不得不重新启动我的系统。
注意:http_proxy和https_proxy应该包含相同的代理地址,如下所示
http_proxy = http://<user>:<password>@<your company proxy>:<port> https_proxy= http://<user>:<password>@<your company proxy>:<port> ->Note no 's' in http://...
"strict-ssl": false
在.bowerrc为我做
我在企业防火墙后面,我也必须指定域名。 这些答案都没有为我工作。 这是我做的 –
- 从http://cntlm.sourceforge.net/下载了CNTLM
- 很明显安装它。
-
打开cntml.ini并更改以下内容
域your_domain_name
用户名your_domain_username
密码your_domain_passowrd
PassLM 1AD35398BE6565DDB5C4EF70C0593492(取消注释)
PassNT 77B9081511704EE852F94227CF48A793(取消注释)
代理http:// localhost:8888
-
转到services.msc并启动CNTLM身份validation服务。
- 下载Fiddler 4/2(无论他们叫什么)。
- 安装这个。 这将运行在http:// localhost:8888
- 现在,无论您正在运行的程序(代理)是http:// locahost:3128 (这就是CNTLM正在运行)。
在这种情况下,请将http.proxy和https.proxy指定为http:// localhost:8888
这将适用于其他客户端程序。 只需指定代理为http:// localhost:8888
它的工作让我改变.bowerrc文件
{ “directory”:“client / lib”, “registry”:“http://bower.herokuapp.com”, “代理”:“http://192.168.1.205:3228” “HTTPS代理”: “http://192.168.1.205:3228” }
- 其中client / lib是安装目录,您要在哪里安装
- 和http://192.168.1.205:3228是你的代理IP端口。; 公司代理可以根据组织的不同而不同。
{ "directory": "library", "registry": "http://bower.herokuapp.com", "proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/", "https-proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/" }
此代码为我工作。 我使用Win 7和Chrome,也是git bash。 这里有几件事情需要清除。 这花了我很多时间来查找有关用户名,密码,代理IP和端口的实际数据。 我会逐步描述,让每个学习者都能轻松掌握这个信息:
- 在login文件夹中的名为.bowerrc的记事本中创build一个文件; 您可以通过在开始>运行>%UserProfile%中键入,然后按OK。
-
在.bowerrc文件中input以上代码,并进行以下更改:
用您的互联网连接用户ID或loginIDreplace
<USERNAME>
用您的互联网连接密码或login密码replace
<PASSWORD>
。
将<PROXY_IP>
和<PROXY_PORT>
replace为正在工作的代理IP地址及其端口号。**Note: There should be no angle brackets.**
-
代理IP应该与您自己的IP不同。
-
在使用任何代理IP和端口之前,您应该通过更改您的代理IP和端口来检查它是否正在工作。
-
您可以通过此链接了解代理设置的详细信息
- 从这个代理设置你将得到代理IP和端口。
- 重新检查所有的input,以便全部正确并保存并closures文件。
- 打开git bash,将目录更改为项目文件并键入命令,然后按回车,在我的情况下,git bash命令:
a @ a-PC MINGW32 / d / conFusion
安装$ bower
- 它像魔术一样工作。
如果它帮助某人,我有一个“组策略封锁”错误。
解决方法是在CryptoPrevent中创build一个例外,CryptoPrevent是安装在我们公司计算机上的一个应用程序,用于防止encryption锁。
有关信息,在您的.bowerrc文件中,您可以添加一个无代理属性。 我不知道什么时候它被支持,但它在bower 1.7.4上工作,并且它解决了带有内部存储库的公司代理后面的问题
.bowerrc:
{ "directory": "bower_components", "proxy": "http://yourProxy:yourPort", "https-proxy":"http://yourProxy:yourPort", "no-proxy":"myserver.mydomain.com" }
问候
请确保您的代理密码中没有特殊字符。 将其转换为hex。 这个对我有用。
除了在.bowerrc
设置下面的代理:
{ "directory": "app/bower_components", "proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>", "https-proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>", "http-proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>", "strict-ssl": false, "registry": "http://bower.herokuapp.com" }
我需要运行以下命令来解决这个问题:
npm cache clean bower cache clean bower install