我在Ubuntu上,我的应用程序是为Rails 2.3.5编写的,我让它在2.3.10上运行但是当我升级到Rails 3.0.3并尝试使用“ruby script / server”运行它时,它抛出了这个错误。
/usr/local/lib/site_ruby/1.8/rubygems.rb:230:in `activate': can't activate rails (= 2.3.10, runtime) for [], already activated rails-3.0.3 for [] (Gem::LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:35:in `require'
from /home/bob/savage/config/boot.rb:55:in `load_initializer'
from /home/bob/savage/config/boot.rb:38:in `run'
from /home/bob/savage/config/boot.rb:11:in `boot!'
from /home/bob/savage/config/boot.rb:110
from script/server:2:in `require'
from script/server:2
当我卸载Rails 2.3.10时,它会抛出此错误
bob@ubuntu:~/test.2.3.10$ ruby script/server
/usr/local/lib/site_ruby/1.8/rubygems.rb:777:in `report_activate_error': RubyGem version error: rails(3.0.3 not = 2.3.10) (Gem::LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems.rb:211:in `activate'
from /usr/local/lib/site_ruby/1.8/rubygems.rb:1056:in `gem'
from /home/bob/test.2.3.10/config/boot.rb:60:in `load_rails_gem'
from /home/bob/test.2.3.10/config/boot.rb:54:in `load_initializer'
from /home/bob/test.2.3.10/config/boot.rb:38:in `run'
from /home/bob/test.2.3.10/config/boot.rb:11:in `boot!'
from /home/bob/test.2.3.10/config/boot.rb:114
from script/server:2:in `require'
from script/server:2
想法?在此先感谢您的帮助。
答案 0 :(得分:6)
我得到了同样的错误,直到我意识到我仍在使用我的应用程序的2.3.10版本中的旧配置/ boot.rb。我进入一个干净的目录并生成一个新的Rails 3.0.3应用程序并使用它创建的boot.rb。该文件完全不同,它让我超越了这个错误。
答案 1 :(得分:0)
答案 2 :(得分:0)
这是默认的Rails 3.0.0 config / boot.rb文件。我将使用全部或部分内容而不是config / boot.rb
require 'rubygems'
# Set up gems listed in the Gemfile.
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
答案 3 :(得分:-1)
在你的路径中注意到1.8 - 我相信你需要在1.9.2上使用Rails 3才能工作。使用RVM立即启动并运行。
此外 - 您通常使用'rails server'或'rails s'启动Rails 3 - 您不再需要关闭脚本/服务器。给它一个去看看它是如何工作的。