如何在ruby 1.9上运行Rails 1.2.5应用程序?

时间:2010-09-16 14:30:59

标签: ruby-on-rails ruby-1.9.1

我有一个在rails 1.2.5上制作的旧应用程序,这个应用程序每天都有很多访问权限。

我打算升级我的服务器(一个欢乐加速器)来运行ruby 1.9.x并使用rails 3,但我无法停止或将此应用程序移动到另一台服务器。

有没有办法在ruby 1.9上运行此应用程序? 或者同时运行两个ruby版本(1.8.7和1.9)? 或者在最后一个案例中升级我的应用程序以使用rails 3?

感谢。

3 个答案:

答案 0 :(得分:1)

Rails有很多补丁使它在Ruby 1.9下运行。如果您尝试这样做,我认为您可以接受挑战。使用Ruby Version Manager,您可以work with multiple ruby environments from interpreters to sets of gems

答案 1 :(得分:1)

是否必须切换到Rails3和Ruby 1.9? 您可以在虚拟化服务器上​​抛弃旧应用程序并保持应用程序按原样运行吗?

我的建议的原因是我们刚刚经历了类似的案例。本地企业(建筑协会)在2 - 3年前为他们开发了一对应用程序(与Rails 1.2.6一起使用)。没有什么过分重要的(计费应用程序和投标/承包商/客户管理系统)。一切正常,所以无需更新任何内容。

他们的托管服务提供商不愿意在共享托管环境中保留旧的过时的rails。托管商店引用的维护不能简化,安全问题等等。果然,同一主机提供重写应用程序的当前技术(当然,价格)。

客户对他们不满意。自开业以来开发应用程序的开发商和开发商离开了更加绿色的牧场。但一切正常,为什么要重新发明轮子,对吧?客户去寻找替代品。来找我们我们与客户坐下来,进行了一些成本/收益分析,并决定只在虚拟化环境中托管(在另一家提供商处)。这是在一周内(有一些hick-up):备份,移动,恢复,测试,一切正常。它现在已经工作了3个月没有任何问题。

这可能对您不起作用,但除非您需要添加到应用中,为什么要修复未损坏的内容?

答案 2 :(得分:0)

  1. Rails 3适用于Ruby 1.8.7
  2. 另一个选择(除了显而易见的RVM)是保留你的Ruby 1.8.7和Rails 1.x,并安装最新的JRuby和Rails 3.0以及jruby -S gem install rails的相关宝石。 Ruby和JRuby宝石完美共存,没有任何干扰。 Joyent的Accelerator中的OpenSolaris擅长运行Java,所以你不会遇到太多问题。
  3. P.S。顺便说一句,我不建议您将Rails 1.x应用程序更新为3.x,除非您计划为其添加许多新功能。这可能会非常痛苦,特别是如果你使用了很多老派的宝石和插件。