我刚刚尝试使用RVM使用以下命令更新到Rails 3.1.3:
rvm install ruby-1.9.3-p0
rvm - 默认使用ruby-1.9.3-p0
如果我查询当前版本或ruby:
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:
gem install rails
当我查询rails的版本时:
rails -v
我得到Rails 3.0.11 ...我的旧版Rails
如果我尝试启动Rails服务器
rails s
我收到一个巨大的错误:
.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确实包含以下块:
rails(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)
这是否与它有关,或者我是否应该触摸gemfile.lock文件??
我正在使用rvm版本1.10.0,任何帮助将不胜感激
答案 0 :(得分:6)
回答我自己的(扩展)问题...
删除gemfile.lock文件允许我运行
捆绑安装
确保我的Rails gem设置为正确的版本(3.1.3),这有效。我遇到的问题是当我启动我的rails服务器时出现以下浏览器错误
未定义的方法`Conside_all_requests_local'for ActionController :: Base:Class
最初我认为这是由于Rails 3.1中的一些路由更改。*正如我在application_controller.rb文件中发现的那样,我处理了404错误,并且有以下块:
unless ActionController::Base.consider_all_requests_local
rescue_from Exception, :with => :render_404
end
的ActionController :: Base.consider_all_requests_local
现已弃用并替换为:
Rails.application.config.consider_all_requests_local
诀窍。
感谢您的帮助,我希望将来可以帮助某人
答案 1 :(得分:0)
您可能必须交换rvm / ruby的版本然后安装。 这可能有用:https://rvm.io/gemsets/basics/