Proxy 公司代理阻止Bower呼叫
我正试图将Bower用于web应用程序,但发现自己遇到了一些代理问题:Proxy 公司代理阻止Bower呼叫,proxy,bower,Proxy,Bower,我正试图将Bower用于web应用程序,但发现自己遇到了一些代理问题: 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/packa
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
有关要点:
- 我可以浏览到,它返回完整的json响应
- 我可以使用git进行克隆,既可以使用git://协议,也可以使用http(s)
- 我可以直接使用NPM而无需这些问题
- 我尝试使用Fiddler来确定被阻止的内容,但它没有检测到来自Bower命令的任何调用。我可以在Fiddler中看到来自NPM命令的调用
- 我搜索了鲍尔问题列表,看到了类似的问题,但它们要么没有解决方案,要么看起来和我的不太一样
有什么想法吗?你有代理人吗 您是否设置了环境变量HTTP\u PROXY和HTTPS\u PROXY
SET HTTP_PROXY=http://yourproxyserver:yourproxyport
SET HTTPS_PROXY=http://yourproxyserver:yourproxyport
尝试更改.bowerrc中的注册表值:
{
"registry": "http://bower.herokuapp.com"
}
谢谢@user3259967
这就成功了
我想补充一点,如果您的代理需要经过身份验证,您可以将用户名/密码添加到.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>/"
}
{
“目录”:“库”,
“注册表”:http://bower.herokuapp.com",
“代理”:“http:/:@:/”,
“https代理”:“http:/:@:/”
}
请注意在https代理中使用http://我的解决方案是这个config.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://bower.herokuapp.com",
“代理”:“http://:@proxy.host.br:8080”,
“https代理”:“http://:@proxy.host.br:8080”,
“严格ssl”:false
}
在https代理中使用http协议加上带有http协议的注册表项
请记住将8080端口号更改为您的代理服务器端口。我没有.bowerrc文件来配置我的bower设置。我在一个名为defaults.js的文件中找到了这些设置。在“C:\…\bower\node\u modules\bower config\lib\util\defaults.js”下找到 我希望这能帮助其他人:
var默认值={
“cwd”:进程.cwd(),
“目录”:“bower_组件”,
“注册表”:http://bower.herokuapp.com',
“速记解析器”:git://github.com/{{owner}}/{{package}}.git',
“tmp”:path.tmp,
'代理':'',//在此处或顶部更改代理
'https proxy':'',//在此处或顶部更改代理
“超时”:30000,
'ca':{search:[]},
“严格ssl”:false,
“用户代理”:用户代理,
“颜色”:正确,
“交互式”:null,
“存储”:{
包:path.join(path.cache,“包”),
链接:path.join(path.data,“links”),
完成:path.join(path.data,'completion'),
注册表:path.join(path.cache,'registry'),
empty:path.join(path.data,'empty')//empty dir,用于GIT\u TEMPLATE\u dir等
}
};
module.exports=默认值代码>您可以尝试在
将代理
、https代理
和严格ssl
配置设置到文件中
{
"proxy" : "http://<host>:<port>",
"https-proxy" : "http://<host>:<port>",
"strict-ssl" : false
}
为赢得7
对我来说,以下是链接阅读纳米向导答案中建议的步骤
在.bowerrc
文件中,删除所有
你本可以早点做的。这很重要。
因此,此文件的最终内容应如下所示:-
{
"directory": "app/bower_components"
}
将pc中的环境变量-http\U代理
和https\U代理
设置为公司防火墙代理。在这种情况下,您的公司代理需要身份验证,如果您的密码包含特殊字符,请按照链接建议将其转换为十六进制形式。在我的例子中,用“\”转义字符没有帮助。我还必须重新启动我的系统
注:
http_代理和https_代理应包含如下所示的相同代理地址
http_proxy = http://<user>:<password>@<your company proxy>:<port>
https_proxy= http://<user>:<password>@<your company proxy>:<port> ->Note no 's' in http://...
http_proxy=http://:@:
https_proxy=http://:@:->注意:中没有“s”http://...
我在公司防火墙后面,我也必须指定域名。
这些答案都不适合我。这就是我所做的-
从下载的CNTLM
显然是安装了它
打开cntml.ini并更改以下内容
域名你的域名
用户名您的\u域\u用户名
输入您的\u域\u密码
PassLM 1AD35398BE6565DDB5C4EF70C0593492(取消对此的注释)
PassNT 77B9081511704EE852F94227CF48A793(也取消注释)
代理
转到services.msc并启动CNTLM身份验证服务
下载Fiddler 4/2(不管他们叫它什么)
也安装这个。这将运行在
现在,无论您运行的是什么程序,都会将其转发(代理)到(这就是CNTLM正在运行的程序)
在这种情况下,将http.proxy和https.proxy指定为
这将适用于其他客户端程序。只需将代理指定为
代理IP应该不同于您自己的IP
在使用任何代理IP和端口之前,您应该通过更改代理IP和端口来检查它是否正常工作
您可以通过此链接了解代理设置的详细信息
通过此代理设置,您将获得代理IP和端口
重新检查所有输入,确保所有输入均正确,然后保存并关闭文件
打开git bash并将目录更改为项目文件并键入命令,然后按enter键(在我的示例中为git bash命令):
a@a-PC MINGW32/d/混乱
$bower安装
它起了神奇的作用
为了防止它对某人有帮助,我犯了一个“bower被组策略阻止”错误
解决方案是在CryptoPrevent中设置一个例外,CryptoPrevent是安装在我们公司计算机上用于防止加密储物柜的应用程序。有关信息,请在.bowerrc文件中添加一个无代理属性。我不知道从什么时候开始支持它,但它在bower 1.7.4上工作,它解决了bower在公司代理背后的问题,并带有一个内部存储库
.bowerrc:
{
"directory": "bower_components",
"proxy": "http://yourProxy:yourPort",
"https-proxy":"http://yourProxy:yourPort",
"no-proxy":"myserver.mydomain.com"
}
{
"directory": "library",
"registry": "http://bower.herokuapp.com",
"proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/",
"https-proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/"
}
**Note: There should be no angle brackets.**
{
"directory": "bower_components",
"proxy": "http://yourProxy:yourPort",
"https-proxy":"http://yourProxy:yourPort",
"no-proxy":"myserver.mydomain.com"
}
"strict-ssl": false
{
"directory": "client/lib",
"registry": "http://bower.herokuapp.com",
"proxy":"http://192.168.1.205:3228",
"https-proxy":"http://192.168.1.205:3228"
}
{
"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
{
"proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>",
"https-proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>",
"registry": "https://registry.bower.io"
}