Gemfile.lock在Rails中的使用



Rails中"Gemfile.lock"的用途是什么?我一直在四处寻找,但没有找到满意的答案。

您应该阅读bundler gem中的所有文档:http://gembundler.com/

GEMFILE.LOCK

当您运行bundle安装时,Bundler将保留全名和您使用的所有gem的版本(包括gem的依赖项在Gemfile(5)中指定)转换为名为Gemfile.lock.的文件

Bundler在所有后续的捆绑安装调用中使用该文件,这保证了您始终使用完全相同的代码,即使您的应用程序在机器之间移动。

由于依赖项解析的工作方式,即使是看似很小的更改(例如,对的依赖项的点发布的更新宝石文件中的宝石(5))可能会导致截然不同的宝石需要满足所有依赖关系。

因此,您应该将Gemfile.lock检查到版本控制中。如果不这样做,则检查存储库的每台机器(包括生产服务器)将解决所有依赖关系同样,这将导致不同版本的第三方代码如果Gemfile(5)中的任何宝石或其任何依赖项已更新。

Gemfile.lock确保您的应用程序上的其他开发人员以及您的部署环境使用与您刚才安装的完全相同的第三方代码。

相关内容

最新更新