1

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

rvm 安装 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]

然后更新宝石:

宝石更新--系统

这给了我版本 1.8.24

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

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

最后安装 Rails gem:

宝石安装导轨

当我查询 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)

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

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

4

2 回答 2

6

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

破坏 gemfile.lock 文件让我可以运行

捆绑安装

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

ActionController::Base:Class 的未定义方法“consider_all_requests_local”

最初我认为这是由于 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

成功了。

感谢您的帮助,我希望这对未来的人有所帮助

于 2012-05-04T10:23:51.417 回答
0

您可能必须交换 rvm / ruby​​ 的版本,然后再安装。这可能有用:https ://rvm.io/gemsets/basics/

于 2012-05-03T01:27:48.240 回答