2011-05-22 140 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,工作!