2

私はコンパスrubygem(バージョン0.7.11)を使用していますが、実行するgem spec compassと、出力の一部は次のようになります。

dependencies:
- !ruby/object:Gem::Dependency
  name: sass
  requirement: !ruby/object:Gem::Requirement
    none: false
    requirements:
    - - ~>
      - !ruby/object:Gem::Version
        version: '3.1'
  type: :runtime
  prerelease: false
  version_requirements: !ruby/object:Gem::Requirement
    none: false
    requirements:
    - - ~>
      - !ruby/object:Gem::Version
        version: '3.1'

実行gem install compass -v 0.7.11すると、正しいバージョンのコンパスがインストールされますが、sass3.2が取り込まれます。~>私はそれを3.1.xの範囲に保つだろうと思いました。誰かが何が起こっているのか説明できますか?

4

1 に答える 1

2

ジェフ、

構文~>は、最小バージョンの数字を破棄する依存関係を示しています。~> 3.1つまり、までのすべてのバージョンを取得し4.0ます。

最後の桁が重要であることに注意してください。あなたが書い~> 3.1.0たとしましょう。その場合、あなたはまでのすべてのバージョンを手に入れるでしょう3.2.0

~>(別名twiddle-wakka)で他のアイデアをここで調べてください。

于 2012-11-02T23:20:12.567 に答える