【问题标题】:looking for recommended upgrade path for app (ruby 2.3.8 , rails 4.2.11) to the latest stable versions of ruby and rails寻找应用程序(ruby 2.3.8,rails 4.2.11)到最新稳定版本的 ruby​​ 和 rails 的推荐升级路径
【发布时间】:2022-12-24 01:28:43
【问题描述】:

正如标题所述,我正在寻找应用程序(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 ruby-on-rails-4


    【解决方案1】:

    第一步是确保您的应用程序有足够的测试,让您在升级应用程序时充满信心。

    然后您可以开始实际的升级过程。有不同的方法可以做到这一点。我通常建议以较小的步骤进行更新,而不是一次性进行大量升级,因为这样可以更轻松地解决问题,因为您确切地知道 Ruby 或 Ruby on Rails 版本引入了问题。

    此外,每个 Ruby on Rails 版本都有一系列与之兼容的 Ruby 版本,您必须以匹配的组合更新它们。

    有人建议先升级到最低的minor和补丁版本,再升级到最新的minor,比如5.0.7.2 -> 5.1.0 -> 5.1.7。但是根据我的经验,直接更新到下一个小版本的最新版本就好了,比如5.0.7.2 -> 5.1.7

    我建议使用Ruby and Ruby on Rails compabilities关注此表。这导致以下升级路径:

    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
                       |
    ruby 2.6.10  rails 6.1.7
         |
    ruby 2.7.7   rails 6.1.7    minimum combination to still get security fixes
         |
    ruby 3.0.5   rails 6.1.7
                       |
    ruby 3.0.5   rails 7.0.4    minimum combination to still get bug fixes
         |
    ruby 3.1.3   rails 7.0.4
         |
    ruby 3.2.0RC rails 7.0.4
    

    请注意,在撰写此答案时(2022 年夏季)Ruby 2.7Ruby on Rails 6.1.x 仍会获得安全修复。因此,我建议将其作为在生产环境中运行的最低版本组合。错误修复仅适用于 Ruby 3.0 和 Ruby on Rails 7.0.x 及更高版本。

    在每个步骤中,请咨询Upgrading Ruby on Rails in the official Rails Guides,了解该特定版本的变化。在每个步骤之后,确保修复所有可能出现的弃用警告。

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

    【讨论】:

    • 非常感谢您的详细回复。一个特定于 Rails 4.2.11.3 -> 5.0.7.2 升级步骤的后续问题:从我在网上阅读的内容来看,就潜在更改/风险而言,该步骤似乎是最具挑战性的步骤,是否有任何在线参考您推荐的有助于特定升级步骤的文章/指南。您链接的那个 Rails 升级指南看起来也很有帮助(尤其是这个部分:guides.rubyonrails.org/…),但只是想知道是否有更多这样的链接
    • 关于 Rails 4.2 到 5.0 升级的文章我没有特别推荐。但是你可以通过搜索rails 4.2 update 5.0 找到很多。
    • 会做。再次感谢;祝我在这次升级马拉松比赛中好运! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多