Gemfile.lock是干嘛的
新建Rails项目后目录里会包含 Gemfile 和 Gemfile.lock 这两个文件, Rails是通过他们来管理第三方抵赖的.
如果需要加入新的Gem,比如 minitest-reporters, 首先编辑 Gemfile, 加入 gem 'minitest-reporters', '~> 1.1', '>= 1.1.9'.
然后在terminal执行 $ bundle install, 这个Gem就安装好了.
与此同时, Gemfile.locl 文件也有了修改:
既然 Gemfile里已经填写了包的版本号,那为什么还需要一个 Gemfile.lock 文件呢?
其实Gemfile.lock是一份更详细的版本依赖说明,记录了当前使用的准备的版本号.
在生产环境上,我们可以用 $ bundle install --deployment来安装和开发环境一模一样的第三方依赖.
所以,一定记得把 Gemfile.lock 也加到Git中.
推荐阅读:
https://richonrails.com/articles/how-does-the-gemfile-lock-file-work