2010-06-04 121 views

回答

1

面向未來的解決方案是使用Bundler,這是需要在Rails 3中,現在可以在Rails 2中使用。

0

寶石路是

RAILS_ROOT/vendor/gems 

你必須凍結/解壓縮此目錄中使用的所有寶石

Rails的寶石和他們的依賴關係路徑將是

RAILS_ROOT/vendor/rails 

而且所有插件路徑應該是

RAILS_ROOT/vendor/plugins 

默認情況下,Rails從機器加載gem(或者你可以說本地)。 從寶石目錄加載寶石,你必須在旅遊中添加以下代碼 配置/ enviorment.rb

config.load_paths += Dir["#{RAILS_ROOT}/vendor/gems/**"].map do |dir| 
    File.directory?(lib = "#{dir}/lib") ? lib : dir 
    end 

   

0

正如x1a4所說,Bundler是要走的路,但替代品(在短期內更容易)是unpack(凍結)你的寶石。

在你config/enviroment.rb文件時,Rails::Initializer.run do |config|塊內,確定哪些寶石你取決於像這樣:

config.gem 'will_paginate', :version => '~> 2.3.11', :source => 'http://gemcutter.org' 
config.gem 'nokogiri' 

(該:version:source屬性都是可選)

在命令行中,去到您的應用程序根目錄並輸入:

rake gems:install 
rake gems:unpack 

您的寶石應顯示在名爲01的文件夾中在您的應用程序。 (我相信)你的應用會自動首先查找它需要的任何寶石。

不幸的是,如果你想要的寶石需要原生擴展,你不能將它解壓縮到你的應用程序。

0

如果你想在一個非標準的位置添加寶石鋼軌2.3,你可以像添加這些行到config/environment.rb:

 
$:.push("/home/_whatever_/ruby/gems") 
ENV['GEM_PATH'] = '/home/_whatever_/ruby/gems:/usr/lib/ruby/gems/1.8' 

如果已經添加寶石這是有用的,例如對hostgator.com

你導軌安裝要幫助你的Rake任務正常工作,添加這些行的.bashrc:

 
export GEM_HOME=/home/_whatever_/ruby/gems 
export GEM_PATH=$GEM_HOME:/usr/lib/ruby/gems/1.8 
export PATH=$GEM_HOME/bin:$PATH 
相關問題