【问题标题】:Should I use Ruby 1.9.2 for my Rails 2.3.10 app?我应该为我的 Rails 2.3.10 应用程序使用 Ruby 1.9.2 吗?
【发布时间】:2011-02-05 18:19:50
【问题描述】:

我有一个现有的 Rails 2.3.10 应用程序,我正在考虑从 1.8.7 升级到 Ruby 1.9.2。在我开始破解试图让它工作的应用程序之前,我试图确定它是否值得付出努力。

为了了解可能涉及多少工作,我只是在 Ruby 1.9.2 中运行所有规范(rspec 1.3.1)。 98% 的测试通过了,但它们的运行速度慢了大约 3 倍,并且有大量消息,例如“Ruby 1.9 还不支持 Unicode 规范化”。我找到了post about this issue,所以我知道我可以修复它,但我担心我可能遇到的速度和其他问题。

我的另一个选择是将应用程序升级到 Rails 3 并在那时移到 1.9.2。从长远来看,这似乎是一个更好的决定,但可能需要做更多的工作。

tl;dr - 我应该现在升级到 1.9.2 还是等到应用程序在 Rails 3 上运行?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    我建议两者都做,但是你做它们的顺序,或者如果你同时做它们,这真的是个人喜好。如果你有一个强大的测试套件和良好的覆盖范围,这是过渡的第一步。您将遇到的主要障碍如下:

    • 许多较新的 gem 版本仅支持 Rails 3,因此如果您一次只执行一个步骤,请确保您的 gem 受支持。例如,您不想陷入由于使用 Ruby 1.9.2 而 gem 需要升级但新版本的 gem 仅在 Rails 3 中可用的情况。
    • Ruby 1.9.2 中有一些语法更改,需要重新编译编译的 C 扩展或重新安装 gem。
    • 从 Rails 2.3 到 Rails 3.0 的应用程序配置发生了重大变化。他们需要一些时间才能完成,但有很多支持。

    一般来说,Ruby 1.9.2 会比 Ruby 1.8.7 更快,并且会提供一些很酷的新语法。如果您得到相反的结果,那么我将对您的代码进行基准测试,并确保情况确实如此,并且不仅仅是失败的测试会降低您的套件速度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多