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

... 还是我太懒了?

注意:rubysspi-1.2.4不起作用。

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


当前回答

这完美地解决了我的问题:

gem install -p http://proxy_ip:proxy_port compass

你可能需要添加你的用户名和密码:

gem install -p http://[username]:[password]@proxy_ip:proxy_port compass

其他回答

我不能从命令行开关得到我的工作,但我已经能够通过设置我的HTTP_PROXY环境变量来做到这一点。(注意,大小写似乎很重要)。我有一个批处理文件,其中有这样一行:

SET HTTP_PROXY=http://%USER%:%PASSWORD%@%SERVER%:%PORT%

显然,我在这条直线之前设置了四个参考变量。例如,如果我的用户名是“wolfbyte”,我的密码是“secret”,我的代理名为“pigsy”,并在端口8080上运行:

SET HTTP_PROXY=http://wolfbyte:secret@pigsy:8080

您可能要小心如何管理它,因为它将密码以纯文本的形式存储在机器的会话中,但我认为这应该不是一个太大的问题。

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

它适用于OSX 10.9.3。

这完全有效:

gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name

如果在代理后面,您可以导航到Ruby下载,单击Download,这将把指定的更新(或Gem)下载到所需的位置。

接下来,通过Ruby命令行,使用:pushd [directory]导航到下载的位置

pushd D:\设置

然后执行以下命令。gem install[更新名称]——local . sh

例如:gem install rubygems-update—local。

在Windows 7上测试,Ruby更新版本为2.4.1。

检查方法如下:ruby -v

关于这个话题的帖子很多,为了帮助其他人节省尝试不同解决方案的时间,这里是我花几个小时修补的最终结果。

目前互联网上有三个解决方案: rubysspi apserver cntlm

rubysspi只能在Windows机器AFAIK上工作,因为它依赖于Win32Api库。因此,如果您在Windows系统上试图通过代理运行,这是适合您的解决方案。如果你使用的是Linux发行版,那你就不走运了。

Apserver似乎是一个死气沉沉的项目。我看到的文章中列出的链接指向sourceforge的404页面。我在sourceforge上搜索“apserver”没有返回任何东西。

我看到的cntlm的sourceforge链接会重定向到http://cntlm.awk.cz/,但是超时了。在sourceforge上搜索可以找到这个链接:http://sourceforge.net/projects/cntlm/

在下载和配置cntlm之后,我已经设法通过代理安装了一个gem,因此这似乎是Linux发行版的最佳解决方案。