使用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文件部分内容
可以看到下的确切的版本是1.25.5。 这样做的好处是,即使现在monolog的的版本更新了,存在 1.25.6 版本。使用composer进行安装的时候,通过composer.lock 依然可以下载到正确的版本1.25.5。这样可以保障一致性。