2

現在、Rails > 3.1 で Rails 3.x の特定のバージョンを必要とする Gemspec があります。

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は使用できません。

それがあなたの意図である場合、rubygemsガイドによると、次のようなパターンを使用することをお勧めします。

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

必要なのは角かっこを追加することかもしれないと思います。

于 2012-09-16T14:40:55.653 に答える