代码之家  ›  专栏  ›  技术社区  ›  Simone Carletti

是否有人成功地使用Ruby1.9.1部署了一个Rails项目?[关闭]

  •  9
  • Simone Carletti  · 技术社区  · 15 年前

    上周,我成功地完成了公司所有应用程序从Ruby1.8.6到Ruby1.8.7的转换,包括本地和远程配置。 从现在开始,开发不需要确保与Ruby1.8.6的向后兼容性。

    出于好奇心,我尝试对Ruby1.9.1运行两个项目的测试套件。正如所料,我发现了一些与编码相关的问题,但当我发现低级不兼容(如Rack::Link已知的bug)时,我真的很震惊。 此时,将开发转移到Ruby1.9.1的想法根本不适用。

    我想知道是否有人成功地用Ruby1.9.1部署了一个Rails项目。您的Rails项目使用哪个Ruby版本?您是否计划升级到较新版本?

    5 回复  |  直到 15 年前
        1
  •  10
  •   Josh K    15 年前

    Matz最近在伦敦的Rubyfoo上谈到了Ruby1.9.1的采用。很简单,Ruby1.9.1还没有生产就绪,现在还不应该用于部署。

    Ruby1.9.2将做好生产准备,但在此之前,您应该只使用Ruby1.9.1进行播放和测试。

    尽管许多人已经成功地使用了1.9.1进行了部署,但我建议您坚持使用REE1.8.7,直到1.9.2退出。Rails3.0将支持1.9.2,但也可以很高兴地使用1.8.7(它不适用于1.8.6)。

        2
  •  5
  •   Jörg W Mittag    15 年前

    Gitorious 是一个非常大和复杂的Rails项目,拥有大量用户。Gitorious在Ruby1.8和Ruby1.9上都运行得很好,但是最大的Gitorious安装程序gitorious.org本身已经在Ruby1.9和Yarv上运行了很长时间。(我想至少从五月开始吧。)

    当然,最好的一点是,它不仅是开源的,而且是一个真正开放的项目,具有开放式邮件列表、开放式BugTracker和开放式 repository ,以便您可以看到 确切地 他们是怎么做到的,做了多少工作。

        3
  •  2
  •   Community Navdeep Singh    7 年前

    我花了一天的时间来研究这种方法的可行性,并将等待更长的时间。

    就目前情况而言,你可以让东西大部分工作,但有一些严重可怕的解决办法,你将不得不放在适当的地方,使东西去。

    1. mysql gem(版本2.8.1)以ASCII编码返回所有字符串,这意味着当您开始在视图中附加这些字符串时会遇到各种各样的严重错误。有一项工作正在进行,但它涉及到用补丁编译gem,请参见: Encoding problems in rails on ruby 1.9.1
    2. 您需要使用hack或env vars在全局强制UTF-8编码
    3. 乘客2.2.7由于ruby tempfile中的一个bug而出现问题,因此您必须对源代码进行黑客攻击: Ruby 1.9.1-p234, Passenger 2.2.5, Rails 2.3-stable closed stream on POST request
    4. 有些宝石根本不起作用。

    尽管我很喜欢性能提升,但我认为现在它有点太过血腥了,最好等到2010年中期。

        4
  •  1
  •   Ward Bekker    15 年前

    这里没有完成到Ruby1.9.1的转换。我倾向于保守升级。对于生产工作,我喜欢坚持使用经过测试的产品。另外,imho 1.9.1很好,确保您的依赖性版本保持最新是一个好习惯。如你所注意到的,出血边缘的发展有时会很痛苦。如果你不想遇到这样的问题,保持一个版本在出血边缘是比较安全的。

        5
  •  1
  •   cwninja    15 年前

    这里也是1.9.1号。尽管这么说让我恶心,我们还是先等37个信号。

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

    推荐文章