当我的同事运行"捆绑安装"时,他会安装最新的宝石还是Gemfile.lock中的宝石?

nop*_*ole 2 ruby-on-rails bundler ruby-on-rails-3

那是因为在gembundler.com上,它说:

确保将Gemfile.lock添加到您的存储库.这将确保您的应用程序上的其他开发人员以及您的部署环境使用与刚刚安装的完全相同的第三方代码.

所以,假设我只是说

gem 'rails'
Run Code Online (Sandbox Code Playgroud)

所以当我的同事在bundle install3个月之后,当Rails 3.0.6或更高版本发布时,他会安装3.0.6,还是Gemfile.lock中的那个?(截至目前为3.0.5)

如果一切都必须完全符合Gemfile.lock,那么更新Gemfile.lock的过程是什么?确保所有测试都通过,然后以某种方式告诉bunlder将所有gem升级到最新版本,再次运行测试并确保它们通过,然后提交最新的Gemfile.lock?

Vic*_*gin 7

bundle install将安装在Gemfile.lock中找到的gems版本.要更新到应该运行的最新允许版本bundle update(它还会更新Gemfile.lock).如果更新后出现问题(例如测试失败),您可以回退到存储库中以前版本的Gemfile.lock并bundle install再次运行以获取以前工作的gems版本.此外,可以通过bundle update <gem_name>例如bundle update rails(也解析依赖性并更新Gemfile.lock)来更新各个宝石.