小智 213
对于Windows操作系统,我使用Fiddler来解决这个问题.
运行gem:
$ gem install --http-proxy http://localhost:8888 $gem_name
Run Code Online (Sandbox Code Playgroud)Mik*_*llo 212
我无法通过命令行开关让我的工作,但我只能通过设置我的HTTP_PROXY环境变量来做到这一点.(注意案例似乎很重要).我有一个批处理文件,其中包含这样的行:
SET HTTP_PROXY=http://%USER%:%PASSWORD%@%SERVER%:%PORT%
Run Code Online (Sandbox Code Playgroud)
在我明确到达这一行之前,我设置了四个引用的变量.例如,如果我的用户名是"wolfbyte",我的密码是"秘密",我的代理名为"pigsy",并在端口8080上运行:
SET HTTP_PROXY=http://wolfbyte:secret@pigsy:8080
Run Code Online (Sandbox Code Playgroud)
您可能需要小心如何管理它,因为它在机器的会话中以明文形式存储您的密码,但我不认为它应该是一个太大的问题.
小智 129
这完全奏效了:
gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name
Run Code Online (Sandbox Code Playgroud)
Jas*_*ete 48
我一直在使用cntlm(http://cntlm.sourceforge.net/).配置与ntlmaps非常相似.
效果很好,还允许我将我的Ubuntu盒连接到ISA代理.
查看http://cntlm.wiki.sourceforge.net/了解更多信息
kfo*_*fox 39
我尝试了其中一些解决方案,但都没有奏效.我终于找到了适合我的解决方案:
gem install -p http://proxy_ip:proxy_port rails
Run Code Online (Sandbox Code Playgroud)
使用-p参数传递代理.我正在使用Gem版本1.9.1.
Hom*_*Tom 16
这完全解决了我的问题:
gem install -p http://proxy_ip:proxy_port compass
Run Code Online (Sandbox Code Playgroud)
您可能需要向其添加用户名和密码:
gem install -p http://[username]:[password]@proxy_ip:proxy_port compass
Run Code Online (Sandbox Code Playgroud)
小智 16
创建一个.gemrc文件(在/ etc/gemrc或〜/ .gemrc中,或者例如在/ opt/chef/embedded/etc/gemrc中使用chef gem),其中包含:
http_proxy: http://proxy:3128
Run Code Online (Sandbox Code Playgroud)
那你gem install就像往常一样.
Ben*_*ton 10
如果您在通过代理进行身份验证时遇到问题,请确保以下面的格式设置环境变量:
set HTTP_PROXY=some.proxy.com
set HTTP_PROXY_USER=user
set HTTP_PROXY_PASS=password
Run Code Online (Sandbox Code Playgroud)
该user:password@语法似乎并没有工作,也有一些严重命名的环境变量左右浮动堆栈溢出和各种论坛帖子.
另请注意,您的宝石可能需要一段时间才能开始下载.起初我以为它不起作用,但有点耐心,他们开始按预期下载.
小智 8
我尝试了所有上述解决方案,但是没有一个能够工作.如果您使用的是linux/macOS,我强烈建议在ssh隧道上使用tsocks.为了使这个设置正常工作,您需要的是一台可以通过ssh登录的机器,此外还有一个名为tsocks的程序.
这里的想法是通过SSH(socks5代理)创建动态隧道.然后我们配置tsocks以使用此隧道并启动我们的应用程序,在这种情况下:
tsocks gem install ...
Run Code Online (Sandbox Code Playgroud)
或者考虑到rails 3.0:
tsocks bundle install
Run Code Online (Sandbox Code Playgroud)
更详细的指南可以在以下位置找到:
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.
快速回答:为安装/更新添加带有参数的代理配置
gem install --http-proxy http://host:port/ package_name
gem update --http-proxy http://host:port/ package_name
Run Code Online (Sandbox Code Playgroud)
小智 7
关于这个主题的帖子比比皆是,并且为了帮助其他人节省数小时尝试不同的解决方案,这是我修补时间的最终结果.
目前互联网上的三个解决方案是: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发行版的最佳解决方案.
解决方法是在本地计算机上安装http://apserver.sourceforge.net,配置它并通过此代理运行gem.
PARENT_PROXY和PARENT_PROXY_PORT.输入DOMAIN和USER的值.将PASSWORD留空(冒号后没有任何内容) - 启动时会提示您.cd aps097; python main.pygem install—http-proxy http://localhost:5865/ library| 归档时间: |
|
| 查看次数: |
239093 次 |
| 最近记录: |