wee*_*tch 4 ruby ruby-on-rails ruby-on-rails-4
正如标题所述,我正在寻找应用程序(ruby 2.3.8,rails 4.2.11)到最新稳定版本的 ruby 和 Rails 的推荐路径,对于非常非常大的应用程序来说,这是最安全、最稳定的选择代码库。
例如
最好先将 ruby 升级到 2.4 ,然后 2.5 等等,然后再小步升级 Rails (例如 4.2 => 5.0.x => 5.1.x => ...)?
可用于运行 Rails 4.2.x 的最新版本是哪个 ruby 版本?
任何建议/指导将不胜感激。
spi*_*ann 11
第一步是确保您的应用程序经过足够的测试,以便您在升级应用程序期间充满信心。
然后您就可以开始实际的升级过程。有不同的方法可以做到这一点。我通常建议以较小的步骤进行更新,而不是一次性进行大规模升级,因为这样可以更轻松地解决问题,因为您确切地知道 Ruby 或 Ruby on Rails 版本引入了该问题。
此外,每个 Ruby on Rails 版本都有一系列与其兼容的 Ruby 版本,您必须以匹配的组合来更新它们。
有些人建议您应该先升级到最低的次要版本和补丁版本,然后再升级到最新的次要版本,例如5.0.7.2 -> 5.1.0 -> 5.1.7. 但根据我的经验,直接更新到下一个小版本的最新版本就可以了,比如5.0.7.2 -> 5.1.7.
我建议按照此表了解Ruby 和 Ruby on Rails 的兼容性。这导致以下升级路径:
ruby 2.3.8 rails 4.2.11 your current versions
|
ruby 2.3.8 rails 4.2.11.3
|
ruby 2.3.8 rails 5.0.7.2
|
ruby 2.4.10 rails 5.0.7.2
|
ruby 2.4.10 rails 5.1.7
|
ruby 2.5.9 rails 5.1.7
|
ruby 2.5.9 rails 5.2.8.1
|
ruby 2.6.10 rails 5.2.8.1
|
ruby 2.6.10 rails 6.0.6.1
|
ruby 2.6.10 rails 6.1.7.7
|
ruby 2.7.8 rails 6.1.7.7
|
ruby 3.0.6 rails 6.1.7.7 minimum combination to still get security fixes
|
ruby 3.0.6 rails 7.0.8.1
|
ruby 3.1.4 rails 7.0.8.1
|
ruby 3.2.3 rails 7.0.8.1
|
ruby 3.2.3 rails 7.1.3.2 minimum combination to still get bug fixes
|
ruby 3.3.0 rails 7.1.3.2
Run Code Online (Sandbox Code Playgroud)
请注意,在本答案上次更新时(2023 年春季),Ruby 3.0和Ruby on Rails 6.1.x仍然获得安全修复。因此,我建议将其作为在生产环境中运行的最低版本组合。错误修复仅适用于 Ruby 3.2 和 Ruby on Rails 7.1.x 及更高版本。
在每个步骤中,请参阅官方 Rails 指南中的升级 Ruby on Rails,了解该特定版本中的更改。每个步骤完成后,请确保修复可能出现的所有弃用警告。
请记住也检查所有其他宝石。我认为在每个步骤之后和进行下一个升级步骤之前将所有 gems 更新到与当前 Ruby 和 Ruby on Rails 组合兼容的最新版本是一个很好的做法。
| 归档时间: |
|
| 查看次数: |
1257 次 |
| 最近记录: |