2011-05-22 103 views
7

我可以将宝石源重定向到我的web服务器路径,我将在其中下载所有必需的gem软件包并放到那里。我想使用“bundle install从本地资源安装gem bundle

GemFile会从http://rubygems.org中取出那些,因为它是在那里定义的。 我通常会遇到“太多请求”的错误(似乎是互联网拥塞问题)。

是否有可能将gem源路径重定向到本地服务器?

回答

0

您是否尝试在Gemfile中声明额外的Rubygems源代码?

source "http://youserver.com" 
14

TL; DR:使用:path option


假设你想从不可达资源上安装一个宝石,如:

# Gemfile 
gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git' 

,你无法安装使用bundle install因为防火墙什么的宝石。

按照下列步骤操作:

  1. 下载文件(使用使用任何方法就可以了,如HTTP_PROXY,从https://github.com/sferik/rails_admin/zipball/master

  2. 把下载的文件放到一个文件夹,如vendor/gems/rails_admin和在它的文件应该是这样的:

    $ ls vendor/gems/rails_admin 
    app config Gemfile Gemfile31 lib LICENSE.md rails_admin.gemspec Rakefile README.md screenshots spec 
    
  3. 现在让我们修改的Gemfile:

    gem 'rails_admin', :path => "vendor/gems/rails_admin" 
    
  4. 运行bundle,工作!