2010-06-04 119 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 
相关问题