如果我使用ruby版本2.5.1
与rails版本2.3.18
会发生什么?
我在rails 2.3.18
和ruby 1.9.2p320
上构建了rails应用程序,我想升级版本的ruby只有不是rails它可能吗?
我必须面对的挑战是什么?
GitHub维护a public fork,它有旧Rails版本的分支,有各种变化,它们已经运行了一段时间。一段时间以来,他们在较新的Ruby版本上运行较旧的Rails版本而不是最初支持的版本,因此您可能会找到一些有关需要向后移植的有用提示。但是,他们现在几年没有使用过2.3,所以充其量只能减少工作量。
一般来说,Ruby版本几乎没有进行任何不兼容的更改,但是使用Rails的大小和种类的代码库,这些变化中的大多数确实会在某处发生。这对我来说似乎是一个坏主意:例如,在这样一个旧的Rails版本中,已知的漏洞将大大超过新版Ruby中的任何安全修复程序。
如果您这样做是因为您的应用程序使用系统Ruby并且您正在升级/替换操作系统,我建议使用rbenv / chruby / ruby-build / ruby-install来安装此应用程序的旧版本。
不用说,运行这么老的Rails版本是非常沮丧的,并且将它暴露在互联网上是完全危险的 - 但无论如何我都会说。
Rails LTS显然向Rails 2.3提供了一个服务后向移植安全修复程序,这可能会使它更安全一些。他们似乎也在currently support running Rails 2.3 with Ruby 2.3;虽然这不是2.5,但它可能会让你更接近,或者足够好。