0

这一定是一个简单的问题,但我浏览这个论坛找不到答案。

当我检查 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

我究竟做错了什么?

4

4 回答 4

0

尝试在您的 environment.rb 中执行以下操作

RAILS_GEM_VERSION = '3.2.8' unless defined? RAILS_GEM_VERSION
于 2012-09-14T04:16:26.797 回答
0

如果您的应用程序是 2.x rails 应用程序,您需要在升级到 3.x 之前完成一些更改

你可以看看 railscast http://railscasts.com/?tag_id=27

另一方面,您可能希望使用 rvm rails 3.x 将您的 ruby​​ 升级到 1.9,从而更好地使用 ruby​​ 1.9

于 2012-09-14T04:56:54.607 回答
0

检查您的 Gemfile 并确保它指向 rails 3.2.8

然后运行bundlebundle update

于 2012-09-14T05:01:41.280 回答
0

我想知道这是否是一个旧应用程序,最初基于 rails 2.3.1 构建并定期原位升级。而不是script/server,尝试rails server

并确保您的 Gemfile 包含对 rails 3.2.8 的引用

于 2012-09-14T05:02:17.747 回答