我知道这个问题已经在这个网站上被多次询问,但是在深入了解其他答案之后,我仍然对如何解决这个问题留下了空白。Missing Rails Gem
我只是拉从生产服务器一个Rails应用程序的副本,我得到以下错误:
Missing the Rails 2.3.4 gem. Please
gem install -v=2.3.4 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.
轨道2.3.4在我的宝石列表:
*** LOCAL GEMS ***
actionmailer (2.3.8, 2.3.5, 2.3.4, 2.2.2, 1.3.6)
actionpack (2.3.8, 2.3.5, 2.3.4, 2.2.2, 1.13.6)
actionwebservice (1.2.6)
activerecord (2.3.8, 2.3.5, 2.3.4, 2.2.2, 1.15.6)
activeresource (2.3.8, 2.3.5, 2.3.4, 2.2.2)
activesupport (2.3.8, 2.3.5, 2.3.4, 2.2.2, 1.4.4)
acts_as_ferret (0.4.3)
authlogic (2.1.6)
capistrano (2.5.2)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
dnssd (0.6.0)
fastercsv (1.5.4)
fastthread (1.0.1)
fcgi (0.8.7)
ferret (0.11.6)
gem_plugin (0.2.3)
gemcutter (0.6.1)
google-spreadsheet-ruby (0.1.2)
highline (1.5.0)
hpricot (0.6.164)
libxml-ruby (1.1.2)
mongrel (1.1.5)
mysql (2.8.1)
needle (1.3.0)
net-scp (1.0.1)
net-sftp (2.0.1, 1.1.1)
net-ssh (2.0.4, 1.1.4)
net-ssh-gateway (1.0.0)
nokogiri (1.4.4)
oauth (0.4.4)
packet (0.1.15)
prawn (0.8.4)
prawn-core (0.8.4)
prawn-fast-png (0.2.3)
prawn-layout (0.8.4)
prawn-security (0.8.4)
rack (1.2.1, 1.1.0, 1.0.1)
rails (2.3.8, 2.3.5, 2.3.4, 2.2.2, 1.2.6)
rake (0.8.3)
RedCloth (4.1.1)
rmagick (2.13.1)
roo (1.9.3)
ruby-ole (1.2.11.1)
ruby-openid (2.1.2)
ruby-yadis (0.3.4)
rubynode (0.1.5)
rubyzip (0.9.4)
spreadsheet (0.6.5.0)
sqlite3-ruby (1.2.4)
termios (0.9.4)
xmpp4r (0.4)
而且gem list -d rails
看起来是这样的:
*** LOCAL GEMS ***
rails (2.3.8, 2.3.5, 2.3.4, 2.2.2, 1.2.6)
Author: David Heinemeier Hansson
Rubyforge: http://rubyforge.org/projects/rails
Homepage: http://www.rubyonrails.org
Installed at (2.3.8): /Library/Ruby/Gems/1.8
(2.3.5): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
(2.3.4): /Library/Ruby/Gems/1.8
(2.2.2): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
(1.2.6): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
Web-application framework with template engine, control-flow layer,
and ORM.
现在,这里是我失去了:在environment.rb
我甲肝e此行选择导轨2.3.4。
RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
如果我改变了行:
RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION
错误消失。我知道有不同位置安装的导轨版本,但有问题的两个版本安装在相同的位置。为什么2.3.8不会引发错误,而2.3.4呢?
我该如何解决这个问题?
注意:我客运运行
此外,注意事项:脚本/控制台出现2.3.4下工作......但应用程序仍然在Web浏览器失败。
UPDATE
好了,所以我查了PassengerRuby
指令在httpd.conf
,这是/usr/local/bin/ruby
而which ruby
生产/usr/bin/ruby
。我将该指令更改为/usr/bin/ruby
。
这解决了网络浏览器的问题,但是现在脚本/控制台与同样的错误失败:
Missing the Rails 2.3.4 gem. Please
gem install -v=2.3.4 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.
所以,现在,我可以在Web浏览器中查看该项目的罚款。但我不能使用任何脚本的轨道,并rake db:migrate
失败,出现以下错误:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:827:in
report_activate_error': Could not find RubyGem rake (>= 0) (Gem::LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:261:in
activate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:68:in `gem' from /usr/bin/rake:18
为什么乘客会在`/ Library/Ruby/Gems/1.8`中寻找rails 2.3.8但不是2.3.4?这两个宝石似乎都没有损坏。 – jordanstephens 2011-01-13 20:32:04