那是因为在gembundler.com上,它说:
确保将Gemfile.lock添加到您的 库。这将确保这一点 您的应用上的其他开发人员也是如此 作为您的部署环境,请使用 完全相同的第三方代码 你刚装好了。
所以,假设我只是说
gem 'rails'
所以,当我的同事在3个月之后bundle install
执行Rails 3.0.6或更高版本时,他会安装3.0.6,还是Gemfile.lock中的那个? (截至目前为3.0.5)
如果一切都必须完全符合Gemfile.lock,那么更新Gemfile.lock的过程是什么?确保所有测试都通过,然后以某种方式告诉bunlder将所有gem升级到最新版本,再次运行测试并确保它们通过,然后提交最新的Gemfile.lock?
答案 0 :(得分:7)
bundle install
将安装Gemfile.lock中的gems版本。要更新到最新的允许版本,您应该运行bundle update
(它还会更新Gemfile.lock)。如果更新后出现问题(例如测试失败),您可以回退到存储库中以前版本的Gemfile.lock并再次运行bundle install
以获取以前工作的gems版本。此外,个人宝石可能会被bundle update <gem_name>
更新,例如bundle update rails
(这也解决了依赖关系并更新了Gemfile.lock)。
答案 1 :(得分:1)
gembundler.com网站有很多答案。您应该查看rationale页面。