Bundler路径问题

时间:2011-02-09 21:30:31

标签: ruby-on-rails ruby passenger bundler

我接管了由其他人部署到服务器的ann应用程序。关于设置,一些遗漏的环境变量或类似的问题有些不妥,但我很难过。顺便说一下,这显然是一个Rails应用程序,在REE和mod_rails(passenger)下运行

以下是一些令我难过的控制台日志。首先,rake db:migrate声明我没有Rails 2.3.8

$ rake db:migrate
(in /var/www/ems.trustthevote.org/ems/current)
Missing the Rails 2.3.8 gem. Please `gem install -v=2.3.8 rails`, update your      
RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

然而,捆绑者说我这样做:

$ bundle list
Gems included by the bundle:
[...snip]
  * actionmailer (2.3.8)
  * actionpack (2.3.8)
  * activerecord (2.3.8)
  * activeresource (2.3.8)
  * activesupport (2.3.8)
[...snip...]
  * rails (2.3.8)

但另一方面,宝石说不:

$ gem list rails

*** LOCAL GEMS ***

以下是一些相关的环境变量:

RUBYOPT=-rauto_gem
RUBYLIB=~/.gem
最后,这是Ruby的想法:
$ irb
irb(main):001:0> $:
=> ["~/.gem", "/usr/lib64/rubyee/site_ruby/1.8",     
"/usr/lib64/rubyee/site_ruby/1.8/x86_64-linux", "/usr/lib64/rubyee/site_ruby", 
"/usr/lib64/rubyee/vendor_ruby/1.8", "/usr/lib64/rubyee/vendor_ruby/1.8/x86_64-linux", 
"/usr/lib64/rubyee/vendor_ruby", "/usr/lib64/rubyee/1.8", "/usr/lib64/rubyee/1.8/x86_64   
linux", "."]
irb(main):002:0> 
我的眼睛越过了。我错过了什么?

2 个答案:

答案 0 :(得分:1)

使用自定义捆绑路径时,请确保在捆绑器环境中运行rake命令。

bundle exec rake db:migrate

尝试一下。

答案 1 :(得分:0)

Bundler将gem安装在自定义目录中。这就是为什么gem list的结果不会显示它们的原因。

不幸的是,我不确定命令$ rake db:migrate为什么找不到你的宝石。