2

目前我有一个 Gemspec,它需要 Rails > 3.1 的特定版本的 Rails 3.x:

Gem::Specification.new do |s|
  # (...)
  s.add_dependency "railties", "~> 3.1"
  # (...)
end

我希望更新此语句以要求~> 3.1OR ~> 4.0.0。我已经尝试过:

  • ~> 3.1, ~> 4.0.0
  • ~> 3.1 OR ~> 4.0.0
  • ~> 3.1 || ~> 4.0.0
  • ~> 3.1 ~> 4.0.0

没有一个工作。当前的 RubyGems 版本有可能吗?

现在我使用 > 3.1,但真正的问题是这是否可能。

4

1 回答 1

2

由于您使用的是~>,因此您似乎愿意使用 3.1 之后的任何 gem 版本,即任何 3.x 或任何 4.0.x,但不是 x 大于 1 的 4.x。

如果这是您的意图,那么根据ruby​​gems guide,您将需要使用如下模式:

spec.add_dependency 'library', ['>= 3.1', '< 4.1']

我认为这可能是您需要添加括号。

于 2012-09-16T14:40:55.653 回答