我正在使用指南针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范围内。有人可以解释发生了什么吗?
答案 0 :(得分:2)
杰夫,
语法~>
显示丢弃最小版本数字的依赖关系,因此~> 3.1
表示您将每个版本都升级到4.0
。
注意,最后一个数字很重要。假设您写~> 3.1.0
,那么您将获得每个版本3.2.0
。
请在~>
(又名twiddle-wakka
)here上查看其他一些想法。