# composer.lock 锁文件
在安装依赖后,Composer 将把安装时确切的版本号列表写入`composer.lock`文件。这将锁定改项目的特定版本。
**请提交你应用程序的`composer.lock`(包括`composer.json`)到你的版本库中**
这是非常重要的,因为`install`命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略`composer.json`文件中的定义)。
这意味着,任何人建立项目都将下载与指定版本完全相同的依赖。你的持续集成服务器、生产环境、你团队中的其他开发人员、每件事、每个人都使用相同的依赖,从而减轻潜在的错误对部署的影响。即使你独自开发项目,在六个月内重新安装项目时,你也可以放心的继续工作,即使从那时起你的依赖已经发布了许多新的版本。
如果不存在`composer.lock`文件,Composer 将读取`composer.json`并创建锁文件。
这意味着如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用`update`命令。这将获取最新匹配的版本(根据你的`composer.json`文件)并将新版本更新进锁文件。
~~~sh
php composer.phar update
~~~
如果只想安装或更新一个依赖,你可以白名单它们:
~~~sh
php composer.phar update monolog/monolog [...]
~~~
> **注意:**对于库,并不一定建议提交锁文件 请参考:[库的锁文件](https://docs.phpcomposer.com/02-libraries.html#Lock-file).