首页 > 解决方案 > 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会发生什么?

问题描述

如果我将 ruby​​ 版本2.5.1与 rails 版本一起使用会2.3.18怎样?

我在 rails2.3.18和 ruby​​ 上构建了 rails 应用程序1.9.2p320,我只想升级ruby​​ 版本而不是 rails 有可能吗?

我必须面对哪些挑战?

标签: ruby-on-railsrubyruby-on-rails-2ruby-1.9.3ruby-2.5

解决方案


GitHub 维护一个公共分支,其中包含旧 Rails 版本的分支,并随着时间的推移进行了各种更改。有一段时间,他们在较新的 Ruby 版本上运行旧的 Rails 版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们已经有几年没有使用 2.3 了,所以充其量只会减少工作量。

一般来说,Ruby 版本几乎没有做出不兼容的更改,但是由于具有 Rails 的大小和种类的代码库,这些少数更改中的大多数确实在某个地方发生了变化。这对我来说似乎是个坏主意:例如,较新的 Ruby 版本中的任何安全修复都将大大超过此类旧 Rails 版本中的已知漏洞。

如果您这样做是因为您的应用程序使用系统 Ruby 并且您正在升级/更换操作系统,我建议您使用 rbenv / chruby / ruby​​-build / ruby​​-install 来安装此应用程序的旧版本。

不言而喻,非常不鼓励运行这样一个旧的 Rails 版本,并且将其暴露在 Internet 上是非常危险的——但我还是要说出来。

Rails LTS显然为 Rails 2.3 提供了一项向后移植安全修复的服务,这可能会使其更安全一些。他们目前似乎也支持使用 Ruby 2.3 运行 Rails 2.3;虽然这不是 2.5,但它可能会让你更接近,或者足够好。


推荐阅读