【问题标题】:What happen if i use ruby version 2.5.1 with rails version 2.3.18?如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会发生什么?
【发布时间】:2018-07-26 13:30:28
【问题描述】:

如果我使用 ruby​​ 版本 2.5.1 和 rails 版本 2.3.18 会发生什么?

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

我必须面对哪些挑战?

【问题讨论】:

  • 可能值得澄清一下“可信和/或官方来源”的样子,因为 Rails 核心团队成员的直接回答显然不是。官方-官方的回答是“那个版本的 Rails 非常旧并且完全不受支持;不要使用它”——见guides.rubyonrails.org/maintenance_policy.html
  • 我想知道你为什么要运行一个五年前的 Rails 版本和一个众所周知且易于利用的 security vulnerabilities 和一个最新版本的 Ruby?为什么不遵循推荐的更新路径?恕我直言,更新 Rails 应用程序比使用最新版本的 Ruby 更重要。

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


【解决方案1】:

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

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

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

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

Rails LTS 显然为 Rails 2.3 提供了向后移植安全修复程序的服务,这可能会使它稍微安全一些。他们似乎也currently support running Rails 2.3 with Ruby 2.3;虽然这不是 2.5,但它可能会让你更接近,或者足够好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2014-09-08
    相关资源
    最近更新 更多