我注意到在 rubygems.org 上有很多 gems 建议你用主版本而不是精确版本来指定它们。比如说..。
gem "haml-rails", "~> 0.3.4" # "$ bundle install" will acquire the
# latest version before 1.0.
然而,基于 Bundler 医生,它听起来像它会更好地确定确切的版本像这样..。
gem "haml-rails", "0.3.4"
这就是你的 Haml-ails gem,它的所有依赖关系都不会向前漂移。如果几周后在另一台机器上签出该项目并运行 $ bundle install
,那么所有指定的版本都将完全相同。
我见过点释放打破东西,我认为部分的整个想法的 Bundler 是“ Bundle.lock
”所有你的宝石版本。
但是在 rubygems.org 上他们经常使用“ ~ >”,所以也许我遗漏了什么?
任何澄清将对我理解 Bundler 和 gem 管理非常有帮助。