这必须是一个简单的问题,但我无法通过浏览此论坛找到答案。
当我检查rails版本时,它显示版本3.2.8
user@domain.com [~/rails_apps]# rails -v
Rails 3.2.8
user@domain.com [~/rails_apps]#
但是当我启动服务器时,它运行版本2.3.11
user@domain.com [~/rails_apps/myapp]# script/server -p12011
=> Booting Mongrel
=> Rails 2.3.11 application starting on http://0.0.0.0:12011
/home3/user/rails_apps/myapp/config/environment.rb:45: warning: already initialized constant RAILS_ENV
NOTE: SourceIndex.new(hash) is deprecated; From /usr/lib64/ruby/gems/1.8/gems/rails-2.3.11/lib/rails/vendor_gem_source_index.rb:100:in `new'.
=> Call with -d to detach
=> Ctrl-C to shutdown server
我做错了什么?
答案 0 :(得分:0)
在您的environment.rb
中尝试以下操作RAILS_GEM_VERSION = '3.2.8' unless defined? RAILS_GEM_VERSION
答案 1 :(得分:0)
如果您的应用程序是2.x rails应用程序,则需要在升级到3.x之前完成一些更改
您可以查看railscast http://railscasts.com/?tag_id=27
另一方面,您可能希望使用rvm将ruby升级到1.9 rails 3.x使用ruby 1.9更好地工作
答案 2 :(得分:0)
检查你的Gemfile并确保它指向rails 3.2.8
然后运行bundle
或bundle update
答案 3 :(得分:0)
我想知道这是不是一个旧的应用程序,最初是在rails 2.3.1上构建的,并定期升级为insitu。而不是script/server
,请尝试rails server
并确保您的Gemfile包含对rails 3.2.8的引用