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

... 还是我太懒了?

注意:rubysspi-1.2.4不起作用。

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


当前回答

我尝试了其中的一些解决方案,但没有一个奏效。我终于找到了一个适合我的解决方案:

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

使用-p参数传递代理。我使用的是Gem版本1.9.1。

其他回答

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

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

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

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

我尝试了以上所有的解决方案,但是没有一个有效。如果你在linux/macOS上,我强烈建议通过ssh隧道使用tsocks。要使这个设置正常工作,您需要一台可以通过ssh登录的机器,此外还需要安装一个名为tsocks的程序。

这里的思想是通过SSH (socks5代理)创建一个动态隧道。然后我们配置tsocks以使用此隧道并启动我们的应用程序,在本例中:

tsocks gem install ...

或者考虑rails 3.0:

tsocks bundle install

更详细的指南可以在下面找到:

http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/

尽管是为Ubuntu编写的,但这个过程应该适用于所有基于Unix的机器。Windows上tsocks的替代方案是FreeCap (http://www.freecap.ru/eng/)。windows上可行的SSH客户机称为putty。

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

对于任何使用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

这完全有效:

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