寻找应用程序(ruby 2.3.8, rails 4.2.11)到最新稳定版本的ruby和rails的推荐升级路径.&l



正如标题所述,我正在寻找应用程序(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或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.3
|
ruby 2.7.8   rails 6.1.7.3    
|
ruby 3.0.6   rails 6.1.7.3  minimum combination to still get security fixes
|
ruby 3.0.6   rails 7.0.5    minimum combination to still get bug fixes
|
ruby 3.1.4   rails 7.0.5
|
ruby 3.2.2   rails 7.0.5

请注意,在这个答案的最后一次更新(2023年春季)时,Ruby 3.0和Ruby on Rails 6.1。X仍然得到安全修复。因此,我建议在生产环境中使用最低版本的组合。Bug修复只适用于Ruby 3.0和Ruby on Rails 7.0。

在每个步骤中,请参阅官方Rails指南中的升级Ruby on Rails,了解特定版本中的更改。在每一步之后,确保修复所有可能出现的弃用警告。

请记住检查所有其他宝石。我认为在进行下一个升级步骤之前,将所有gem更新到与当前Ruby和Ruby on Rails组合兼容的最新版本是一个很好的做法。

最新更新