了解宝石规格版本

时间:2012-11-02 21:32:38

标签: ruby rubygems gem dependencies

我正在使用指南针ruby gem(版本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时,它确实安装了正确版本的指南针,但它正在拉入3.2。我认为~>会将其保持在3.1.x范围内。有人可以解释发生了什么吗?

1 个答案:

答案 0 :(得分:2)

杰夫,

语法~>显示丢弃最小版本数字的依赖关系,因此~> 3.1表示您将每个版本都升级到4.0

注意,最后一个数字很重要。假设您写~> 3.1.0,那么您将获得每个版本3.2.0

请在~>(又名twiddle-wakkahere上查看其他一些想法。