如何设置不那么严格的 .ruby 版本?

问题描述 投票:0回答:2

我喜欢通过设置一个

.ruby-version
文件来设置我在每个项目上使用的 Ruby 版本,但我发现它非常严格,尤其是在我共享我的代码时。

如果我声明这一点例如:

#.ruby-version
3.0.2

代码将请求这个 ruby 版本,它不会接受任何其他甚至:

3.0.4
,我知道它也可以工作。这使得我的代码不太可共享。

有什么方法可以使用像 Gemfile 文件中那样的版本描述语法吗?

  • >= 3.0.0
  • >= 3.0.2,< 3.3
  • ~>3.0
ruby rbenv
2个回答
4
投票

有趣的是,您甚至说“就像在 Gemfile 中一样...”,因为 您可以在

Gemfile
中定义所需的 ruby 版本,而不是拥有
.ruby-version
文件:

ruby '~> 3.0' # or whatever

gem 'some-dependency'
gem 'another-dependency'
# ...

0
投票

需要时,我直接在脚本中使用以下内容(Gem 是 ruby 标准 gem 的一部分)

raise "Invalid Ruby version #{RUBY_VERSION}" if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.3.0')

请注意,您不能直接比较字符串版本(不起作用 当版本字段超过 1 位时3.10.0).

© www.soinside.com 2019 - 2024. All rights reserved.