正如标题所述,我正在寻找应用程序(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组合兼容的最新版本是一个很好的做法。