rails -v在使用rvm时显示错误的版本

Mar*_*nny 1 rvm ruby-on-rails-3

我刚刚尝试使用RVM使用以下命令更新到Rails 3.1.3:

rvm install ruby​​-1.9.3-p0

rvm - 默认使用ruby-1.9.3-p0

如果我查询当前版本或ruby:

红宝石-v

我得到了正确的版本:ruby 1.9.3p0(2011-10-30修订版33570)[x86_64-darwin10.8.0]

然后更新宝石:

gem update --system

这给了我1.8.24版

然后我创建我的gemset并将其设置为我的默认值:

rvm ruby​​-1.9.3-p0@rails313 --create --default

最后安装Rails gem:

宝石安装导轨

当我查询rails的版本时:

rails -v

我得到Rails 3.0.11 ...我的旧版Rails

如果我尝试启动我的Rails服务器

导轨

我收到一个巨大的错误:

.rvm/gems/ruby​​-1.9.3-p0 @ rails313/gems/activesupport-3.0.11/lib/active_support dependencies.rb:239:in`require':dlopen(/Users/lss_dev/.rvm/gems/ruby -1.9.3-p0@rails313/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle,9):找不到符号:_ruby_current_thread(LoadError)

关于依赖关系的很多抱怨.

我的gemfile.lock确实包含以下块:

铁轨(3.0.11)

  actionmailer (= 3.0.11)

  actionpack (= 3.0.11)

  activerecord (= 3.0.11)

  activeresource (= 3.0.11)

  activesupport (= 3.0.11)

  bundler (~> 1.0)

  railties (= 3.0.11)
Run Code Online (Sandbox Code Playgroud)

这是否与它有关或我是否应该触摸gemfile.lock文件?

我正在使用rvm版本1.10.0,任何帮助将不胜感激

Mar*_*nny 6

回答我自己的(扩展的)问题......

删除gemfile.lock文件允许我运行

捆绑安装

确保我将我的Rails gem设置为正确的版本(3.1.3),这有效.我遇到的问题是当我启动我的rails服务器时出现以下浏览器错误

ActionController :: Base的未定义方法`consideration_all_requests_local:Class

最初我认为这是由于Rails 3.1中的一些路由更改.*正如我在application_controller.rb文件中发现的那样,我处理了404错误并且具有以下块:

unless ActionController::Base.consider_all_requests_local
   rescue_from Exception, :with => :render_404
end
Run Code Online (Sandbox Code Playgroud)

ActionController的:: Base.consider_all_requests_local

现已弃用并代以:

Rails.application.config.consider_all_requests_local

诀窍.

感谢您的帮助,我希望这有助于将来的某些人