5

我需要在没有连接到互联网的服务器上安装 ruby​​ on rails + Nokogiri、httparty、json [和一些不太重要的 gems]。怎么可能做到?

主机操作系统是windows

附加问题,嗯,这对我来说不是很好,因为它可能需要几天时间,但我可以作为客户让这个服务器访问 http 代理。但是我必须承认,我已经尝试过使用类似的东西

set http_proxy="http://username:password@host:port"

或者

gem --http_proxy "http://username:password@host:port"

但在这两种情况下都无法访问 gem store :(

4

6 回答 6

8

I solved it this way:

set http_proxy=host:port

without any quotes, http:// protocol and username:password. Cheers

于 2014-01-13T16:35:55.910 回答
8

这对我有用。

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

于 2016-03-10T09:02:02.877 回答
8

快速解决方案:

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

是一种快速且有效的方式,但我需要为每次安装提供永久性的东西。

永久解决方案:

  1. 创建一个文件:

    vi ~/.gemrc
    
  2. 添加内容

    # HTTP Proxy options
    http_proxy: http://proxy_ip:proxy_port
    https_proxy: http://proxy_ip:proxy_port
    # For authentication (although not tested)
    http_proxy_user: username
    http_proxy_pass: password
    https_proxy_user: username 
    https_proxy_pass: password 
    
  3. 验证代理是否出现在 gem 环境变量中

    gem env
    

RubyGems 环境:- RUBYGEMS 版本:2.5.2 - RUBY 版本:2.3.3(2016-11-21 补丁级别 222)[universal.x86_64-darwin17]

于 2018-02-16T10:27:45.560 回答
5

导航到要安装的所需 gem 下载页面。例如,我试图安装 Sass,所以我用谷歌搜索并找到了sass 3.3.14。因为我在我的办公室代理后面,所以我单击下载链接并将 gem 下载到一个目录。

pushd D:\Setups接下来,通过 Ruby 命令行,使用并使用以下命令导航到安装目录:

D:\Setups> gem install sass --local

应安装所需的 gem。

于 2014-08-11T13:35:27.417 回答
4

对于代理使用,Wolfbyte 的回答对我有用。我在 Debian 7 (Wheezy) 上运行。

如何从代理 (ISA-NTLM) 后面更新 Ruby Gems

我也会在下面粘贴他的答案:

我无法通过命令行开关让我的工作,但我已经能够通过设置我的 HTTP_PROXY 环境变量来做到这一点(请注意,这种情况似乎很重要)。我有一个批处理文件,其中有这样一行:

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

在我到达这条线之前,我设置了四个引用变量。举个例子,如果我的用户名是 wolfbyte,我的密码是秘密的,我的代理被称为 pigsy 并在端口 8080 上运行:

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

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


此外,我的密码中包含有趣的字符 - 您必须按照以下方式进行 URLEncode: http ://www.cyberciti.biz/faq/unix-linux-export-variable-http_proxy-with-special-characters/

希望这可以帮助!

科林

于 2014-02-12T02:13:57.450 回答
4

您可以从ruby ​​gems 下载您需要的所有 gem(还有依赖项)到您的服务器,
然后运行gem install gem_name --local安装它们。

于 2013-06-06T14:31:07.683 回答