composer.lock 文件的作用是什么

使用composer 对php项目进行安装的时候,通常会生成一个composer.lock 文件。 composer.lock 是一个锁定文件。比如一个项目中需要一个日志系统(monolog)。这monlog需要写在配置文件composer.json中。

composer.json 多数情况下,并没有写清楚,需要哪个具体的版本。比如


# Author: www.phpjiaocheng.com

{
"require" : {
"monolog/monolog": "1.*"
}

比如 composer.json 里的内容   “monolog/monolog”: “1.*”   说明1.x的版本都可以,没有说明具体是 1.1 还是1.2 或者其他的。经下载的时候,下载的一定是一个确定的版本比如 1.25.5。

这个时候 composer.lock 中就会明确的说明当前,使用的具体版本是什么。下图就是compsoer.lock文件部分内容

composer-monolog
composer-monolog

可以看到下的确切的版本是1.25.5。 这样做的好处是,即使现在monolog的的版本更新了,存在 1.25.6 版本。使用composer进行安装的时候,通过composer.lock 依然可以下载到正确的版本1.25.5。这样可以保障一致性。

项目提交的时候 一定要提交 composer.lock

留言

您的电子邮箱地址不会被公开。