如果我将ruby版本2.5.1与rails版本2.3.18一起使用会发生什么?

dr.*_*nge 5 ruby ruby-on-rails ruby-on-rails-2 ruby-1.9.3 ruby-2.5

如果我使用2.5.1带有rails版本的ruby版本会发生什么2.3.18

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

我必须面对的挑战是什么?

mat*_*ewd 8

GitHub维护一个公共分支,它有旧版Rails版本的分支,有各种变化,它们已经运行了一段时间.一段时间以来,他们在较新的Ruby版本上运行较旧的Rails版本而不是最初支持的版本,因此您可能会找到一些有关需要向后移植的有用提示.但是,他们现在几年没有使用过2.3,所以充其量只能减少工作量.

一般来说,Ruby版本几乎没有进行任何不兼容的更改,但是使用Rails的大小和种类的代码库,这些变化中的大多数确实会在某处发生.这对我来说似乎是一个坏主意:例如,在这样一个旧的Rails版本中,已知的漏洞将大大超过新版Ruby中的任何安全修复程序.

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

不用说,运行这么老的Rails版本是非常沮丧的,并且将它暴露在互联网上是完全危险的 - 但无论如何我都会说.

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