我有一个旧的2.1.1RubyonRails应用程序,系统升级为使用Ruby1.8.7.它最初使用1.8.5左右.

我想把它升级到Ruby 1.9.出于性能方面的考虑,也可能考虑到更新的Ruby on Rails.

我找不到任何关于不同Ruby版本和Ruby on Rails版本之间兼容性的简单图表.

将2.1.1与Ruby 1.9配合使用.十、如果没有,我需要先升级到什么程度,我可能会遇到什么样的问题?我的应用程序对数据库层进行了复杂的操作,但其余的操作相当简单.

推荐答案

这是一个老生常谈的问题,但rails是针对ruby版本进行测试的,这一事实很好地表明它应该在该版本的ruby上工作.

自2019年4月9日起,Rails的稳定分支使用Buildkite进行自动测试,Rails分支列出的已测试ruby版本 list 如下:

轨道6.1

  • >= 2.5.0

Rails 6.0

  • >= 2.5.0

轨道5.2

轨道5.1

  • >= 2.2.2

Rails 5.0

  • >= 2.2.2

Rails 4.2

  • >= 1.9.3

Rails 4.1

  • >= 1.9.3

2019年4月9日之前,Rails自3.0以来的稳定分支使用travis ci进行自动测试,Rails分支列出的已测试ruby版本 list 如下:

Rails 3.0

  • 1.8.7
  • 1.9.2
  • 1.9.3

Rails 3.1

  • 1.8.7
  • 1.9.2
  • 1.9.3

轨道3.2

  • 1.8.7
  • 1.9.2
  • 1.9.3
  • 2.0.0
  • 2.1.8
  • 2.2.6
  • 2.3.3

Rails 4.0

  • 1.9.3
  • 2.0.0
  • 2.1
  • 2.2

Rails 4.1

  • 1.9.3
  • 2.0.0
  • 2.1
  • 2.2.4
  • 2.3.0

Rails 4.2

  • 1.9.3
  • 2.0.0-p648
  • 2.1.10
  • 2.2.10
  • 2.3.8
  • 2.4.5

Rails 5.0

  • 2.2.10
  • 2.3.8
  • 2.4.5

轨道5.1

  • 2.2.10
  • 2.3.7
  • 2.4.4
  • 2.5.1

轨道5.2

  • 2.2.10
  • 2.3.7
  • 2.4.4
  • 2.5.1

Rails 6.0

  • 2.5.3
  • 2.6.0

(从https://www.hmallett.co.uk/2018/08/ruby-and-ruby-on-rails-version-compatibility/开始)

Ruby-on-rails相关问答推荐

Rails 7 Active Record::SessionStore -如何获取控制器中当前会话的数据库ID?

mini_racer gem 0.8.0无法与Ruby 3.1.xBundle 安装

搜查升级到 4.0.0 和 ActionText::RichText

如何使用 Rails 语义记录器记录整个请求(标头、正文等)

heroku 推送错误:无法检测到 rake 任务

如何使用 RSpec 和 Devise/CanCan 进行集成测试?

如何使用 Rails 3 / Rack 在没有 www 的情况下重定向?

如何使用 Vim 插入 ERB 标签?

使用 Rspec 测试 Rails 3.1 可安装引擎

如何添加到序列化数组

可能在rails中有多态has_one关系?

Rspec/Capybara 正在加载,循环要求被认为是有害的

如果缺少翻译,则回退到默认语言

如何在 RSpec 中包含 Rails 助手

submit_tag rails 表单中的 bootstrap 图标

从任何编码强制字符串为 UTF-8

rails respond_to format.js API

向 Rails 模型添加外键

Ruby on Rails 3:通过 Rails 将数据流式传输到客户端

没有UTC的Rails 3默认日期时间格式