【发布时间】:2017-08-02 13:55:13
【问题描述】:
我继承了一个使用 ruby 1.8.7 的非常古老的 rails 2.x 应用程序。
我想升级这个东西,但由于 Ruby 1.8.7,我什至无法在我的笔记本电脑上安装它。
我在本地运行此应用程序以启动最终升级过程的最佳方式是什么?
我可以从 Rails 2.x 转到 Rails 5.x 还是不建议这样做?
【问题讨论】:
-
安装 Ruby 1.8.7 时遇到什么问题/错误?
-
不,直接转到 5.x 不会显示先前版本已弃用代码的警告,因此它可能会成为一场噩梦。
-
我建议使用rvm 来管理 ruby 版本。从 Rails 2.x 迁移是一项艰巨的任务,并且充满了困难。您将需要在第 2 到 3 到 4 到 5 阶段进行迁移,以降低出现问题的风险。 Rails 2 和 3 之间的变化是显着的。测试和版本控制将是您最好的朋友。从头开始重写应用程序可能更容易。
-
Rails 在下一个版本中弃用了一些东西,然后在它被删除之后的版本上弃用了它。因此,例如,Rails 的 2
some_method将在 Rails 3 中被弃用(但仍然可用),但在 Rails 4 中some_method将被删除。所以不,你不能轻易地跳 Rails 2 => Rails 5。另外,当我使用 Rails 2.x 处理应用程序时,我记得需要降级bundler才能使 Ruby 1.8.7 工作。也许 RVM 也需要为此降级。尝试向我们展示您在执行rvm install ruby-1.8.7时收到的错误消息
标签: ruby-on-rails