我后面的防火墙以ntlm模式运行Microsoft ISA服务器。哈希任何人成功地获得他们的Ruby宝石安装/更新通过Ruby SSPI宝石或其他方法?

... 还是我太懒了?

注意:rubysspi-1.2.4不起作用。

这也适用于“igem”,IronRuby项目的一部分


当前回答

这对我来说在Windows盒子里很管用:

set HTTP_PROXY=http://server:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=userparssword
set HTTPS_PROXY=http://server:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=userpassword

我有一个包含这些行的批处理文件,当我需要它时,我用它来设置环境值。

在我的例子中,诀窍是HTTPS_PROXY集。没有它们,我总是得到一个407代理身份验证错误。

其他回答

与其编辑批处理文件(对于其他Ruby宝石,例如Bundler,您可能不得不这样做),不如只做一次,并正确地进行。

在Windows上,在我的公司代理之后,我所要做的就是将HTTP_PROXY环境变量添加到我的系统中。

开始->右键单击计算机->属性 选择“高级系统设置” 单击“高级->环境变量” 创建一个名为“HTTP_PROXY”的新系统变量,并将其值设置为您的代理服务器 重新启动或注销,然后重新登录

根据你的身份验证要求,HTTP_PROXY值可以简单到:

http://proxy-server-name

或者像其他人指出的那样更复杂

http://username:password@proxy-server-name:port-number

我一直在工作时使用cntlm (http://cntlm.sourceforge.net/)。配置非常类似于ntlmaps。

Gem安装——http-proxy http://localhost:3128 _name_of_gem_

工作得很好,也允许我把我的Ubuntu盒子连接到ISA代理。

查看http://cntlm.wiki.sourceforge.net/获取更多信息

如果你在通过代理进行身份验证时遇到问题,请确保按照下面的格式设置环境变量:

set HTTP_PROXY=some.proxy.com
set HTTP_PROXY_USER=user
set HTTP_PROXY_PASS=password

user:password@语法似乎不起作用,在Stack Overflow和各种论坛帖子中也有一些命名糟糕的环境变量。

同时也要注意,你的gems可能需要一段时间才能开始下载。一开始我以为这行不通,但经过耐心之后,他们开始按预期下载。

如果你想使用SOCKS5代理,你可以尝试rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy。

它适用于OSX 10.9.3。

快速回答:为安装/更新添加带有参数的代理配置

gem install --http-proxy http://host:port/ package_name

gem update --http-proxy http://host:port/ package_name