2009-11-03 72 views
9

上周我成功完成了所有公司应用程序从Ruby 1.8.6到Ruby 1.8.7的过渡,包括本地和远程配置。从现在开始,开发不需要确保与Ruby 1.8.6的向后兼容性。是否有人使用Ruby 1.9.1成功部署了Rails项目?

为了好奇,我试着运行一些针对Ruby 1.9.1的项目的测试套件。正如预期的那样,我发现了一些与编码有关的问题,但是当我发现低级别不兼容时,例如Rack :: Link已知错误,我感到非常震惊。 在这一点上,将开发转移到Ruby 1.9.1的想法根本不适用。

我想知道是否有人已经成功部署了Ruby 1.9.1的Rails项目。你为Rails项目使用哪个Ruby版本?你打算升级到更新的版本吗?

回答

10

Matz最近在伦敦的RubyFoo上谈到Ruby 1.9.1的采用。很简单,ruby 1.9.1不是生产准备好的,现在不应该用于部署。

Ruby 1.9.2将准备就绪,但在此之前,您应该只使用ruby 1.9.1进行播放和测试。

虽然很多人都使用1.9.1成功部署,但我建议坚持使用REE 1.8.7,直到1.9.2出局。 Rails 3.0会支持1.9.2,但在1.8.7下也会很开心(它不会与1.8.6一起使用)。

+1

MHO,问题不是Ruby本身,而是GEMS和可用的库:(从我的测试中,Ruby 1.9.1看起来是相当稳固的。) – 2009-11-04 09:51:17

+0

是的,宝石是有点问题,但isitruby19.com网站有帮助 Matz还说有些东西会在1.9.1和1.9.2之间变化,所以1.9.1是我认为的一个问题,它的并不像说它是一个宝石问题那么简单。 – 2009-11-04 12:10:05

1

这里没有转换到Ruby 1.9.1。我倾向于保守升级。对于生产工作,我喜欢坚持使用经过测试的&测试过的东西。此外,恕我直言1.9.1是不错的,并确保你保持依赖版本是最好的习惯。正如你所注意到的那样,在出血的边缘发展可能是痛苦的。如果您不想遇到这些问题,那么保留一个版本更加安全。

+2

我不会把红宝石1.9.1出血边缘。它在9个多月前发布,Ruby 1.9.2预览版已经发布。 :) – 2009-11-03 23:13:47

+0

Ruby 1.9与Rails的结合仍然是流血的边缘。 Rails可以处理它,但rails插件生态系统是巨大的,并不是所有的插件都被更新。甚至有一个网站可以跟踪这些问题:http://isitruby19.com/ – 2009-11-04 19:07:38

1

也是1.9.1这里。尽管这样说让我生病,但我们只需等待37个信号首先完成。

一旦有提交权限的人这样做,错误将得到更快解决。

5

Gitorious是一个相当大且复杂的Rails项目,拥有大量用户。 Gitorious在Ruby 1.8和Ruby 1.9上运行良好,但最大的Gitorious安装,即Gitorious.Org本身,已经在Ruby 1.9和YARV上运行了很长一段时间。 (至少月份以来,我觉得。)

而最好的部分是当然,这不仅是开源的,但开放的邮件列表,打开错误追踪系统和开放repository一个真正开放的项目,这样就可以看到准确他们是如何做到的以及做了多少工作。

2

我花了一天的时间来看待这个可行性,我会等待一段时间。

就目前而言,你可以得到的东西主要是工作,但有一些严重可怕的解决方法,你将不得不采取的东西去东西去。

  1. MySQL的宝石(2.8.1版本)返回ASCII编码的所有字符串,这意味着当你开始在你的意见,你获得了各种严重的错误追加他们带来麻烦的原因。有一个解决办法,但它涉及到编制补丁宝玉见:Encoding problems in rails on ruby 1.9.1
  2. 您由于Ruby的临时文件中的错误需要强制UTF-8编码使用全球黑客或ENV瓦尔
  3. 客运2.2.7有困难,所以你必须破解来源:Ruby 1.9.1-p234, Passenger 2.2.5, Rails 2.3-stable closed stream on POST request
  4. 一些宝石根本不工作。

虽然我很想有PERF提升,我认为这是目前有点太前沿,它可能是一个好主意,等到月中上旬2010

+0

你最后一句话完美地总结了我的想法。 – 2009-12-07 11:04:23

相关问题