需要长期运营的项目,千万别用 rails

2016-07-02 12:26:09 +08:00
 lianghudou
基本上 3 年以后,换服务器的时候项目就等于盼了死刑。

我 13 年做了个项目,用的当时最新的 rails3.2 。现在转服务器,不知道那个 gem 依赖了 eventmachine ,并且必须是 1.0.0 版的,为了兼容这个 1.0.0 版,不得不用 ruby 2.0.0 ,但是,在这个低版本的 ruby 上, rake 已经罢工了,必须得 2.2.2 以上。

其实我用的 gem 不算多, Gemfile 里满打满算也就 10 个左右。

linux环境的跨度也不算大,仅仅从ubuntu12到ubuntu14,难以想象到ubuntu18、ubuntu20,这个项目还有没有继续运行的可能。

如果你的 web 项目打算让它稳定运行 10 年以上, java 和 php 仍是最佳选择,那些新技术拿来玩玩就行了,别用生产环境。
14427 次点击
所在节点    Ruby on Rails
83 条回复
TangMonk
2016-07-03 09:28:12 +08:00
把那个依赖 eventmachine 的 gem folk 下来改了就好了嘛
colorfulberry
2016-07-03 11:14:03 +08:00
对于 rails 你不就是换个环境么,要么带上 Gemfile.lock 要么就升级下项目
rootooroot
2016-07-03 11:30:58 +08:00
楼主不想和楼上的说话 并向他们扔了一堆依赖 =。=
Ahri
2016-07-03 12:21:45 +08:00
醉了,看标题以为是跟我一样吐槽 Rails 各种落后的理念,结果是来推 Java 和 PHP 的。。。

倒车,请注意。倒车,请注意。
Balthild
2016-07-03 12:34:15 +08:00
@lianghudou 如果你的 php 项目要几十个、上百个依赖,每个依赖你都手动放置、加载、升级,累不累啊你。
HLT
2016-07-03 12:38:12 +08:00
说得好像 PHP 不用 composer 了一样。。。
jeremaihloo
2016-07-03 13:59:30 +08:00
这个时候就还考虑夸一夸我大 golang 了
newghost
2016-07-03 14:05:22 +08:00
我觉 php 升级起来兼容问题也挺多的
2225377fjs
2016-07-03 14:11:39 +08:00
楼主说的还是有一定客观性的呀,在版本稳定兼容性方面 python , nodejs , rails 之类的确实比不上 java ,不过上 V2EX 来喷一些语言,看样子犯了大忌啊。

如果想要少花一些精力在版本升级方面的工作,而且要长期维护,选 Java 还是有优势的。
akira
2016-07-03 17:31:41 +08:00
只要是升级,兼容性都会有可能出问题的。
锁定版本运行环境就是了,不要什么都依赖网络自动下载
nine
2016-07-03 19:27:45 +08:00
rails 项目,只要每次 release 版本都跟着升级就好了
reus
2016-07-03 19:30:37 +08:00
把原先的文件系统整个复制下来,然后用 systemd-nspawn / docker / rkt 跑。
把原先的文件系统整个复制下来,然后用 systemd-nspawn / docker / rkt 跑。
把原先的文件系统整个复制下来,然后用 systemd-nspawn / docker / rkt 跑。

虽然 rails 这样确实值得批评,但是是有办法解决的,没必要重写。
16500682
2016-07-03 22:25:11 +08:00
善用 docker
mingyun
2016-07-03 22:47:07 +08:00
php7 ,你值得拥有
lguan
2016-07-04 02:08:13 +08:00
个人水平问题,正好前两天有个客户一个服务器坏,上面跑的项目是 rails 3 的, 12 年跑到现在,没有一次停机,直到前几天服务器挂掉,重新挪到新的服务器上又跑了。

手上还有几个项目都是跑了五六年的,不过一直保持着版本的升级
TimLang
2016-07-04 09:38:13 +08:00
一个项目才 10 个 gem 也来黑。
firefox12
2016-07-04 16:28:22 +08:00
用得很少的一段时间,但是我想说一个一升级就改接口的库也好 语言也好,只能说明了不成熟。一个 ruby on rails 的教程, 3.0 4.0 的创建项目的命令都不一样了 这感觉就是这个大楼的门每天都变样子....
java 最早的代码在 java 8 里也是能跑的呀, windows95 的程序在 win7 里也是能跑的呀,这才是底蕴。一个 75 个 gem 的程序, 升级就是泪,虽然我 ruby 渣,为什么 java php cpp python 库升级 语言升级 我都没这种感觉呢?
xuyifei
2016-07-04 17:52:41 +08:00
。。感觉楼主已经被喷走了
lithium4010
2016-07-04 20:24:21 +08:00
@karloku 同意哈哈
dreamfanbin
2016-07-05 09:50:58 +08:00
@firefox12 http://guides.rubyonrails.org/v3.2/getting_started.html#creating-the-blog-application
http://guides.rubyonrails.org/v4.0/getting_started.html#creating-the-blog-application
求解哪里不一样了

求解大版本更新的时候不费力升级的秘诀。 现在还有好多库都只有 python2 而没有 python3 的版本。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/289785

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX