我知道這個問題已經在這個網站上被多次詢問,但是在深入瞭解其他答案之後,我仍然對如何解決這個問題留下了空白。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