我正在使用 compass 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
时,它确实安装了正确版本的compass,但它引入了sass 3.2。我认为 ~>
会将其保持在 3.1.x 范围内。有人能解释一下发生了什么吗?
最佳答案
杰夫,
语法 ~>
显示了丢弃最小版本数字的依赖项,因此 ~> 3.1
意味着,您可以获得 4.0
之前的每个版本.
请注意,最后一位数字很重要。假设您编写 ~> 3.1.0
,在这种情况下,您将获得 3.2.0
之前的每个版本。
请在~>
(又名twiddle-wakka
)上查找一些其他想法here .
关于ruby - 了解 gem 规范版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13203326/