【发布时间】:2021-08-24 15:19:51
【问题描述】:
出于测试目的,我想安装一个基于过去日期的 Ruby 环境。例如,Ruby 2.5.0p0 于 2017 年 12 月 25 日发布,在某处我读到 Rails 5.2.6 是使用它的版本。我想要的是一种编程方式来了解 gem 的版本/日期应该与什么版本的 Ruby 一起使用。我错过了一些超级简单的方法吗?
编辑:
我在某个日期就已经存在的 Ruby 环境中进行测试的想法似乎很难处理,而且可能没有必要。所以我要做的是运行几个主要的 Ruby 版本并安装它们的 best Rails versions 并让所有其他 gem 浮动到任何版本。
Ruby Rails
2.5.0 5.2.6
2.5.9 5.2.6
2.6.7 6.0.3.7
2.7.3 6.0.3.7
3.0.1 latest
【问题讨论】:
-
Rails 维护了每个主要 Rails 版本支持的Ruby Versions 的官方列表。
-
这是基于一个错误的假设,即 gem 上只有一个版本可以与某个版本的 Ruby 配合使用。现实并非如此——相反,您可以通过使用 bundler 或 rubygems.org API 获得给定 Ruby 版本的兼容 gem 版本列表。
-
@max,您能否提供一个示例代码行来生成“给定 Ruby 版本的兼容 gem 版本列表”?
-
@oaklodge 如果您查看random gem on
rubygems.org,您可能会看到它的内容类似于:REQUIRED RUBY VERSION: >= 2.5.0。bundler使用此信息,然后为项目安装依赖项。 -
换句话说,例如,您不能将 ruby 2.4 与 nokigiri 1.11.7 一起使用。但是您也不需要知道/关心哪个是支持 ruby 2.4 的最新版本的 nokogiri,因为 bundler 会自动为您找出答案!
标签: ruby date rubygems version