介绍
- composer是php的一个依赖管理工具。
- 文档说明:https://docs.phpcomposer.com/01-basic-usage.html#composer.json-Project-Setup
常用命令install和update区别
- 项目中所有的依赖都定义在compser.json中,在指定版本的时候并不需要一定指明一个精确的版本。那么就有可能发生这样的情况,对于同一份composer.json,在不同时刻拉取到的依赖文件可能不一样(composer会在满足依赖的情况下拉取最新的那份依赖),从而导致一些异常情况。install和update是为了解决这个问题出现的。
update
- composer会读取composer.json中指定的依赖,去分析并拉取符合条件的最新版本的依赖。然后把拉取的依赖放到vender目录中,并且把所有拉取的依赖的精确版本号写入composer.lock文件中。
install
- 当存在composer.lock时,它会读取.lock文件而非composer.json,并以此为标准下载依赖。当本地没有composer.lock与update功能一致。
结束
- 把composer.lock纳入项目的版本控制中,那么就可以确保你项目中的每一个人、每一台电脑,不管什么系统,都能拉取到一模一样的依赖,以减少潜在的依赖对部署的影响。
- 当修改了依赖关系时,执行composer install时不会有任何变更,但会得到一个警告。
- lock文件有一个
content-hash
字段,记录当时依赖的hash。 - 只更新单个依赖
composer update monolog/monolog