如何从 Rails 上的 Ruby 2.3.18 更新到 4.2.4(最新)?
How to update from Ruby on Rails 2.3.18 to 4.2.4 (latest)?
我想将 Rails v2.3.18 上的一个巨大的 Ruby 应用更新到 Rails v4.2.4 (最新)。
- Rails2.3.18(2013年3月18日)之后,一共发布了195个版本,直到Rails4.2.4(8月2015 年 24 日)
- 其中 92 是稳定版本
- 和2个主要版本
- 775 个文件已更改
- 909 次提交
我们的应用程序在 Ruby 2.1.5 上的 Rails 2.3.18 上运行 Ruby。
- Ruby也应该从这个版本更新到2.2.x ?
- 是否有人实现或尝试过此 "leap of faith" 并取得成功?
- 为了实现我的目标,我应该从哪里开始?
- 在 Rails 应用程序上更新任何 Ruby 的 基本流程 是什么?
我也一直在思考一些 5 年前的项目的这个问题 - 我是继续使用 rails 2.3.18 LTS https://railslts.com/ 还是迁移到 rails 4.2,我知道然后我需要查看 annually/biannually 更新 rails 版本。我怀疑随着新功能的开发,我在选择性替换方面会更成功。
无论如何,我找到的信息似乎表明这是一个漫长的逐步过程:
这个post可能会有帮助-https://groups.google.com/d/msg/rubyonrails-talk/y0q1fc8N_GU/H2xOsy2mYpwJ
其中 Rob Biedenharn 建议
• 更新至 rails-2.3.18
真的没有理由不这样做,而且有很多充分的理由表明您应该已经这样做了。
2.3.9 (2010-09-04) 是第一个给出升级到 rails-3.0 的弃用警告的版本
2.3.18 (2013-03-18) 是 2.3 系列中的最后一个版本,包含至少 10 个漏洞的修复(其中一些非常严重!)
• 让你的所有测试都通过(如果你没有有测试,你最好有信心)
• 解决所有弃用警告
• 还没有升级 ruby
https://developer.uservoice.com/blog/2012/03/04/how-to-upgrade-a-rails-2-3-app-to-ruby-1-9-3/
但是您可能必须升级到 ruby-1.8.7,因为 rails-3.0 不正式支持 1.8.6)
哦,我按照 Jason Fleetwood-Boldt 的建议查看了 http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html,其中详细介绍了从 3.0 到 4.1 的升级过程。但是,如果您没有时间亲自去查看,那么也许我已经给了您足够的信息来权衡升级与重写路径。
• 升级到rails-3.0.0(甚至可能直接升级到rails-3.0.20)
• 通过所有测试
• 升级到 ruby-1.9.2(甚至 ruby-1.9.3)
• 通过所有测试
• 升级到 rails-3.1.12(rails-3.1 行的最后一个)
这可能不是严格要求的,但 3.1 引入了 Asset Pipeline 并使 jQuery 成为默认的 JavaScript 框架。
如果您在应用程序中大量使用 Prototype 或 Scriptaculous,将其转换为 jQuery(并获得 https://github.com/rails/jquery-ujs)可能是个好主意
• 通过所有测试
• 升级到 rails-3.2.19
• 通过所有测试
• 升级到 ruby-2.1.2(此时可能没有理由只使用 2.0)
• 通过所有测试
• 升级到 rails-4.0.8
• 通过所有测试
• 升级到 rails-4.1.4
• 处理新的 secrets.yml 文件
• 通过所有测试
• 去度假
说真的,如果你真的想走升级路线,还有很多事情要做。我什至没有提到您几乎肯定会遇到的任何问题,这些问题在新版本的 Rails 或什至更新的 Rubies 中停止运行。我建议您非常认真地考虑 "refreshing" 将应用程序作为将应用程序引入当前受支持的 RoR 堆栈的更简单方法。
我想将 Rails v2.3.18 上的一个巨大的 Ruby 应用更新到 Rails v4.2.4 (最新)。
- Rails2.3.18(2013年3月18日)之后,一共发布了195个版本,直到Rails4.2.4(8月2015 年 24 日)
- 其中 92 是稳定版本
- 和2个主要版本
- 775 个文件已更改
- 909 次提交
我们的应用程序在 Ruby 2.1.5 上的 Rails 2.3.18 上运行 Ruby。
- Ruby也应该从这个版本更新到2.2.x ?
- 是否有人实现或尝试过此 "leap of faith" 并取得成功?
- 为了实现我的目标,我应该从哪里开始?
- 在 Rails 应用程序上更新任何 Ruby 的 基本流程 是什么?
我也一直在思考一些 5 年前的项目的这个问题 - 我是继续使用 rails 2.3.18 LTS https://railslts.com/ 还是迁移到 rails 4.2,我知道然后我需要查看 annually/biannually 更新 rails 版本。我怀疑随着新功能的开发,我在选择性替换方面会更成功。
无论如何,我找到的信息似乎表明这是一个漫长的逐步过程:
这个post可能会有帮助-https://groups.google.com/d/msg/rubyonrails-talk/y0q1fc8N_GU/H2xOsy2mYpwJ
其中 Rob Biedenharn 建议
• 更新至 rails-2.3.18 真的没有理由不这样做,而且有很多充分的理由表明您应该已经这样做了。 2.3.9 (2010-09-04) 是第一个给出升级到 rails-3.0 的弃用警告的版本 2.3.18 (2013-03-18) 是 2.3 系列中的最后一个版本,包含至少 10 个漏洞的修复(其中一些非常严重!)
• 让你的所有测试都通过(如果你没有有测试,你最好有信心) • 解决所有弃用警告
• 还没有升级 ruby https://developer.uservoice.com/blog/2012/03/04/how-to-upgrade-a-rails-2-3-app-to-ruby-1-9-3/ 但是您可能必须升级到 ruby-1.8.7,因为 rails-3.0 不正式支持 1.8.6)
哦,我按照 Jason Fleetwood-Boldt 的建议查看了 http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html,其中详细介绍了从 3.0 到 4.1 的升级过程。但是,如果您没有时间亲自去查看,那么也许我已经给了您足够的信息来权衡升级与重写路径。
• 升级到rails-3.0.0(甚至可能直接升级到rails-3.0.20) • 通过所有测试
• 升级到 ruby-1.9.2(甚至 ruby-1.9.3) • 通过所有测试
• 升级到 rails-3.1.12(rails-3.1 行的最后一个) 这可能不是严格要求的,但 3.1 引入了 Asset Pipeline 并使 jQuery 成为默认的 JavaScript 框架。 如果您在应用程序中大量使用 Prototype 或 Scriptaculous,将其转换为 jQuery(并获得 https://github.com/rails/jquery-ujs)可能是个好主意 • 通过所有测试
• 升级到 rails-3.2.19 • 通过所有测试
• 升级到 ruby-2.1.2(此时可能没有理由只使用 2.0) • 通过所有测试
• 升级到 rails-4.0.8 • 通过所有测试
• 升级到 rails-4.1.4 • 处理新的 secrets.yml 文件 • 通过所有测试
• 去度假
说真的,如果你真的想走升级路线,还有很多事情要做。我什至没有提到您几乎肯定会遇到的任何问题,这些问题在新版本的 Rails 或什至更新的 Rubies 中停止运行。我建议您非常认真地考虑 "refreshing" 将应用程序作为将应用程序引入当前受支持的 RoR 堆栈的更简单方法。