哪个Ruby on Rails与哪个Ruby版本兼容?

taw*_*taw 67 ruby ruby-on-rails

我有一个旧的2.1.1 Ruby on Rails应用程序,系统升级为使用Ruby 1.8.7.它最初使用1.8.5左右.

我想出于性能原因将它升级到Ruby 1.9.x,也可能升级到更新的Ruby on Rails.

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

2.1.1将与Ruby 1.9.x一起使用吗?如果没有,我需要在多长时间内升级它,以及我可能会遇到什么样的问题?我的应用程序对数据库层做了很复杂的事情,但其余部分相当简单.

hma*_*ett 61

这是一个老问题,但是自3.0以来Rails的稳定分支使用travis-ci进行自动化测试,并且rails针对某个版本的ruby进行测试这一事实很好地表明它应该适用于该版本的ruby.

rails分支测试的ruby版本列表如下:

Rails 3.0

  • 1.8.7
  • 1.9.2
  • 1.9.3

Rails 3.1

  • 1.8.7
  • 1.9.2
  • 1.9.3

Rails 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

Rails 5.1

  • 2.2.10
  • 2.3.7
  • 2.4.4
  • 2.5.1

Rails 5.2

  • 2.2.10
  • 2.3.7
  • 2.4.4
  • 2.5.1

(来自https://www.hmallett.co.uk/2018/08/ruby-and-ruby-on-rails-version-compatibility/)


gam*_*mov 46

对于版本<3.2:http: //www.devalot.com/articles/2012/03/ror-compatibility

对于> = 4.0的版本:

  • Rails 4推荐2.0(src:Rails博客)
  • Rails 4.1/4.2推荐2.1(src:Rails以前的下载页面)
  • Rails 4.2.1推荐2.2(src:Rails以前的下载页面)
  • Rails 5.0需要2.2.2+(Rails博客)

Rails 3.2

我试图退出这些建议(主要在Ruby 2.0和2.1上运行Rails 3.0),我遇到了多个奇怪的问题.


pdo*_*obb 14

关于升级Ruby on Rails的Rails指南有一个关于Ruby版本的部分.这可能是最好的来源,因为它由Rails核心团队控制.

截至2016年8月,Rails指南中写道:

1.3 Ruby版本

Rails在发布时通常会与最新发布的Ruby版本保持接近:

  • Rails 5需要Ruby 2.2.2或更高版本.
  • Rails 4更喜欢Ruby 2.0,需要1.9.3或更新版本.
  • Rails 3.2.x是支持Ruby 1.8.7的最后一个分支.
  • Rails 3及更高版本需要Ruby 1.8.7或更高版本.对所有以前的Ruby版本的支持已正式删除.你应该尽早升级.


cra*_*crv 13

很难在发行说明中找到它.谷歌搜索了一段时间后,我只能在这里找到它http://www.devalot.com/articles/2012/03/ror-compatibility

Ruby Rails版本兼容性

  • 现在已经过时了......我不再依赖它了. (7认同)

Mar*_*niz 7

从Rails 2.2发行说明:(不完全是您提出的那个)

除了线程安全之外,还做了很多工作来使Rails与JRuby和即将推出的Ruby 1.9一起运行良好.由于Ruby 1.9是一个移动目标,边缘Ruby上的运行边缘Rails仍然是一个命中注定的命题,但Rails已准备好在后者发布时转换到Ruby 1.9.

我相信Rails 2.1.1与Ruby 1.9不兼容,你可以在这样的环境中独立使用.当然,如果你的测试服是全面的,你可以试一试.此外,您必须检查项目中使用的所有其他宝石,这可能是一个真正的麻烦.

如果您选择坚持使用此Rails版本,我将不会迁移到1.9.x. 正如您所提到的,您希望升级它,您应该仔细阅读Rails 3.0发行说明中提到的弃用并调整您的代码.可以在Rails 3弃用方法和API中找到汇总列表