gem bundle从本地资源安装

时间:2011-05-22 14:05:29

标签: rubygems bundle

我可以将gem源重定向到我的Web服务器路径,在那里我将下载所有必需的gem包并放在那里吗?我想用“bundle install

来使用它们

GemFile将从http://rubygems.org获取那些在那里定义的那些。 我经常收到“太多请求”这样的错误(似乎是网络拥塞问题)。

是否可以将gem源路径重定向到我的本地服务器?

3 个答案:

答案 0 :(得分:16)

TL; DR:使用:path option


假设您要从不可访问的资源安装gem,例如:

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

并且由于防火墙或其他原因,您无法使用bundle install安装gem。

遵循以下步骤:

  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,有效!

答案 1 :(得分:4)

你可以bundle install --local

来自here更多细节

答案 2 :(得分:0)

您是否尝试在Gemfile中声明其他Rubygems源代码,如此?

source "http://youserver.com"