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

... 还是我太懒了?

注意:rubysspi-1.2.4不起作用。

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


当前回答

如果您使用的是*nix系统,请使用以下命令:

export http_proxy=http://${proxy.host}:${port}
export https_proxy=http://${proxy.host}:${port}

然后试试:

gem install ${gem_name}

其他回答

一个解决方案是在本地机器上安装http://web.archive.org/web/20060913093359/http://apserver.sourceforge.net:80/,配置它并通过这个代理运行gems。

安装:只需下载apserver 097(而不是实验性的098!)并解压。 配置:编辑server.cfg文件,将MS代理的值放在PARENT_PROXY和PARENT_PROXY_PORT中。输入DOMAIN和USER的值。将PASSWORD保留为空(冒号后没有任何内容)-启动时将提示您。 执行命令apserver: cd aps097;python main.py 运行Gems: gem install-http-proxy http://localhost:5865/ library

如果在代理后面,您可以导航到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

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

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

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

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

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

对于任何使用SSH隧道的人;你可以创建一个使用SOCKS代理的gem命令版本:

Install socksify with gem install socksify (you'll need to be able to do this step without proxy, at least) Copy your existing gem exe cp $(command which gem) /usr/local/bin/proxy_gem Open it in your favourite editor and add this at the top (after the shebang) require 'socksify' if ENV['SOCKS_PROXY'] require 'socksify' host, port = ENV['SOCKS_PROXY'].split(':') TCPSocket.socks_server = host || 'localhost' TCPSocket.socks_port = port.to_i || 1080 end Set up your tunnel ssh -D 8123 -f -C -q -N user@proxy Run your gem command with proxy_gem SOCKS_PROXY=localhost:8123 proxy_gem push mygem

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

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

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

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