Ruby Ruby 2.1 现在稳定吗?

lisan · 2014年03月31日 · 最后由 luikore 回复于 2014年03月31日 · 3040 次阅读

现在公司使用的还是 1.8.x 的 ruby,一直想升级到最新的 ruby 版本,但是对于 ruby2.1 是否稳定,到目前还不能十分确定,请各位大虾给点意见

...稳定是稳定……不过直接从 1.8 上来估计要扯着蛋。。。

1.8 直接升会遇到各种奇奇怪怪的问题 祝好运

如果程序没有漏洞,性能没有瓶颈,功能没有缺失,开发没有问题,为什么要升级 Ruby?

各位不好意思,我把问题再补述一下,是这样的,rails2.x 有些安全上面的漏洞,为了安全想把 rails 的版本升级得高一些,现在 rails 意见升级到 2.3.15 了,但是客户还是不满意还想往上升。头痛,再往上升得话,就必须要升级 ruby 版本了 各位仁兄有什么好得意见?

先升级到 1.9.3,然后再往上升级

小步升级,升到 ruby1.9.3,然后升级到 rails 3 如果客户还不满意,再升级到 ruby 2,rails 4

建议直接用 Ruby 2 + Rails 4 重写整个应用。 Ruby 1.8 + Rails 2.x 的应用想升级上来,比重写的代价还高。

#8 楼 @kgen 是不是重构更好些

#9 楼 @heliang7 重构每一轮都要保证测试能跑通,但是基础架构差别大的时候,重构要多很多中间状态的临时代码。

通常重构推荐给基础架构变化不大,项目技术也在长期持续演进的情况。

#8 楼 @kgen 这个也思考过,重写的话代价太大了,客户不同意。

你是专家,你要说服客户同意

#10 楼 @kgen 那看来 1.8+rails2.x 和现在的差别比较大

#11 楼 @lisan 客户应该只关心时间和质量,这么具体的东西也关心?

#13 楼 @heliang7 嗯,差别相当大,从 Rails 3 开始,它就是一个披着 Rails 名称的 Merb 框架。

#13 楼 @heliang7 客户是懂一些基础的技术问题,他们也知道很困难,也是说这个作为一个长期的课题去调查。 所以想跟大家讨论一下

#11 楼 @lisan 真的 我们之前也是从 2 升到 3 的 前前后后很多坑 如果业务不复杂(1W 行以内)还真不如重写 不逗 升级的话 预计最少是 15-20 工作日吧

#16 楼 @zj0713001 业务比较复杂,有 150 多张表。如此看来重写是没有什么希望了

#17 楼 @lisan 表数量也没法直接反应业务的复杂啊 但是升级的话肯定你每个 model 都要改的 ar 写法都变了 还要检查 controller 和 view 里面有没有人直接用了 ar 方法查找 按你说的 延长一点吧 我保守估计你的升级需要 30-40 工作日

#1 楼 @Kabie #2 楼 @zj0713001

升级强迫症患者(都不敢说是什么星座)是必须得 2.1.1

#6 楼 @ywjno #7 楼 @cantin

1.9 的 encoding 是有坑的,我就跳过 1.8 -> 2.0

@lisan

gem 'backports'可以缓解绝大多数症状

https://github.com/marcandre/backports

Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.0.0 for earlier versions.

#20 楼 @swordray 有坑不代表不行,这篇文章 就是 cookpad 在升级版本的时候写的

#22 楼 @ywjno 没说不行啊,只不过直升 2.0 快一点

#20 楼 @swordray 什么坑?没怎么遇到啊。。。

测试足够就不怕,测试写得少或者没有的自然就一堆坑

需要 登录 后方可回复, 如果你还没有账号请 注册新账号