【问题标题】:Can I update to Ruby 2.1.2 using Rails 3.2.3?我可以使用 Rails 3.2.3 更新到 Ruby 2.1.2 吗?
【发布时间】:2014-08-06 14:41:23
【问题描述】:

首先,我认为这不是 StackOverflow 上的禁止问题,因为它是一个关于环境的精确问题,一个客观问题。但如果被禁止,请告诉我。

目前我正在开发一个使用Ruby 1.9.3Rails 3.2.3 的特定项目,由于项目依赖关系,目前我们无法升级到Rails 4

我的问题是:

使用 Rails 3.2.3,我们可以升级到最新的 Ruby 版本吗?如果有,是什么版本:Ruby 2.0Ruby 2.1.2 还是其他版本?


另外,我在 Google 和 StackOverflow 上进行了搜索,但没有找到类似的问题。

谢谢!

【问题讨论】:

  • 我正在查找您的答案,但首先请注意,Rails 3.2 的最新版本是 3.2.19。 (不支持 Rails 3.2.3。)
  • 这很奇怪,真的。从我的终端截取的屏幕截图:s16.postimg.org/t5bv1yng5/…
  • 我认为您的问题对于 Stack Overflow 来说“过于本地化”(它将在一年左右过时),因此您可能需要对其进行编辑以使其更通用。也许这会起作用:“我如何为一个 gem 选择一个兼容的 Ruby 版本,比如 Rails?”
  • 2012 年有人问过这样的问题。但是答案开始过时了:stackoverflow.com/questions/9087116/…
  • 我在 2012 年的问题 stackoverflow.com/a/25165149/1899424 上发布了一个更一般的答案

标签: ruby-on-rails ruby ruby-on-rails-3 version rails-3-upgrade


【解决方案1】:

第一个正式支持 ruby​​ 2.0 的 rails 版本是 3.2.13(请参阅 rails 博客上的 announcement

我部署了几个运行 3.2.15-3.2.17 和 ruby​​ 2.0 的应用程序(它们已经升级到 rails 4),我记得没有任何问题。

最近发布的 3.2.22 支持 ruby​​ 2.2 (announcement)

【讨论】:

  • 一个简短的问题:为什么 Rails 3.2.13 ~ 3.2.19 出现在“3.2.3”(我的 Rails 版本)之后?
  • 为什么?除了因为 19 > 3 ?
  • 哇,有道理,非常 Rails,非常 Ruby。我认为它的意思是 3.2.1.3 或 3.2.1.9。 :P
  • 该版本编号遵循majorversion.minorversion.patchnumber 的模式,但我不怪你感到困惑。首先是一个标准的链接,然后是一篇关于现实生活的维基百科文章semver.org/spec/v2.0.0.htmlen.wikipedia.org/wiki/Software_versioning
  • 我相信是这样 - 2.2.x 不应该在 2.2.0 上引入任何回归
【解决方案2】:

根据the Travis configuration,Rails 3.2.3 仅使用 Ruby 1.8.7、1.9.2 和 1.9.3 进行了测试,因此使用更高版本的 Ruby 似乎不是一个好主意(但你可以自己测试。)但是,Rails 3.2.3 有一些已知的安全漏洞,这些漏洞有been patched in 3.2.19.

另一方面,configuration for Rails 3.2.19 确实表明开发人员希望它可以与 Ruby 2.0.0 一起使用。您的项目可能会受益于投入一些精力来查看您是否可以从 Rails 3.2.3 升级到 3.2.19,并为您的应用程序测试与 Ruby 2.0 的组合,如果您需要新的 Ruby 功能并且不能有效地向后移植他们。请记住,the only recent answer to a similar question 警告这种组合会出现“奇怪的问题”。还要考虑latest Rails 3.2 release notes 不要提及 Ruby 2.0。

【讨论】:

  • 我曾经在 2.0.0 上运行 rails 3.2 应用程序。我认为在 3.2.13 左右之前它是 2.0.0 安全的。
  • @FrederickCheung 请发表您的评论作为答案。它比我的消息灵通。
  • 完美答案 :) 我在 Google 的指导下尝试了解 3.2.22 是否支持 Ruby 2.3 并查看 github.com/rails/rails/blob/v3.2.22.2/.travis.yml 我很快发现自己 2.2 是最佳选择。
猜你喜欢
  • 1970-01-01
  • 2014-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
相关资源
最近更新 更多