
How do I update Ruby Gems from behind a Proxy (ISA-NTLM)我背后的防火墙正在仅NTLM模式下运行Microsoft ISA服务器。 哈希是否成功通过Ruby SSPI gem或其他方法来安装/更新Ruby宝石? ...还是我只是懒惰? 注意:rubysspi-1.2.4不起作用。 这也适用于Ironig项目的" igem" 对于Windows操作系统,我使用了Fiddler来解决此问题。 运行宝石:
我无法通过命令行开关使我的工作正常,但仅通过设置我的
在到达这一行之前,我先设置了四个引用的变量。例如,如果我的用户名是" wolfbyte",密码是" secret",代理称为" pigsy",并且在端口8080上运行:
您可能需要小心管理,因为它在机器会话中将密码以纯文本格式存储,但是我认为这不是太大的问题。 这完全有效:
我一直在使用cntlm(http://cntlm.sourceforge.net/)。配置与ntlmaps非常相似。
效果很好,并且还允许我将Ubuntu盒子连接到ISA代理。 查看http://cntlm.wiki.sourceforge.net/了解更多信息 我尝试了其中一些解决方案,但没有一个起作用。我终于找到了适合我的解决方案:
使用 这完全解决我的问题:
您可能需要在其中添加用户名和密码:
创建一个文件.gemrc(无论是在/ etc / gemrc或?/ .gemrc或例如与厨师宝石在/ opt /厨师/嵌入的/ etc / gemrc)含有:
然后您可以照常 如果您有通过代理得到验证的问题,一定要设置环境变量在下面完全格式:
另请注意,您的宝石可能需要一段时间才能开始下载。起初我以为它没有用,但是耐心一点,他们开始按预期下载。 我尝试了上述所有解决方案,但是没有一个起作用。如果您使用的是Linux / macOS,我强烈建议在ssh隧道上使用tsocks。要使此设置正常工作,您需要的是一台可以通过ssh登录的计算机,此外还安装了一个名为tsocks的程序。 这里的想法是通过SSH(socks5代理)创建动态隧道。然后,在这种情况下,我们将tsock配置为使用此隧道并启动我们的应用程序:
或考虑使用Rails 3.0:
可以在下面找到更详细的指南: 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客户端称为腻子。 关于该主题的文章不胜枚举,为了帮助其他人节省尝试不同解决方案的时间,这是我努力工作的最终结果。
目前,互联网上的三种解决方案是: 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发行版的最佳解决方案。 解决方法是在本地计算机上安装http://apserver.sourceforge.net,对其进行配置并通过此代理运行gem。
我在代理后面工作,并通过直接从http://rubygems.org下载直接安装了SASS。
然后,我运行了 如果您使用的是* nix系统,请使用以下命令:
然后尝试:
这在Windows框中对我有用:
我有一个包含这些行的批处理文件,可用于在需要时设置环境值。
就我而言,诀窍是 快速解答:为安装/更新同时添加带参数的代理配置
rubysspi-1.3.1在Windows 7上为我工作,使用此页面上的说明: http://www.stuartellis.eu/articles/installing-ruby/ 而不是编辑批处理文件(对于其他Ruby gem,例如Bundler,您可能必须执行此操作),最好一次执行一次并正确执行。
在Windows中,我的背后企业的代理,所有我必须做的是
根据您的身份验证要求,
或更复杂的其他人指出的
如果你想使用SOCKS5代理,您可以尝试的rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy。 它适用于OSX 10.9.3。 如果位于代理之后,则可以导航至Ruby下载,单击"下载",这会将指定的更新(或Gem)下载到所需位置。
接下来,通过Ruby命令行,使用以下命令导航到下载的位置:
例如:
然后运行以下命令:
例如: 在Windows 7上使用Ruby更新版本2.4.1进行了测试。
要检查,请使用以下命令: |