composer install 根据 composer.lock 安装依赖,确保版本一致,适合生产环境;composer update 按 composer.json 升级依赖至最新合规版本,更新 lock 文件,用于主动升级。

composer update 和 composer install 虽然都是用来管理 PHP 项目的依赖,但它们的使用场景和行为有本质区别。
composer install:按锁文件安装依赖
这个命令的作用是根据项目根目录下的 composer.lock 文件来安装依赖。如果 lock 文件存在,Composer 就会严格按照其中记录的版本号下载对应的包,确保所有开发者使用的依赖版本一致。
适合在生产环境或团队协作中使用,因为它保证了依赖的可重复性和稳定性。
- 如果本地没有 composer.lock,会读取 composer.json 并生成 lock 文件后再安装
- 如果有 lock 文件,就完全按照它来安装,不会检查是否有新版本
- 推荐部署时使用,避免意外升级导致的问题
composer update:更新依赖到最新匹配版本
这个命令会去检查 composer.json 中定义的版本约束,并尝试将所有依赖升级到符合规则的最新版本。执行后,lock 文件会被更新为新的版本信息。
通常用于主动升级依赖,比如你想引入某个包的新功能或安全补丁。
- 忽略当前 lock 文件的内容,重新解析依赖关系
- 可能会安装比之前更高的版本(只要符合版本约束)
- 执行后会生成新的 composer.lock,需要提交到版本控制中
关键区别总结
简单来说:
- composer install 是“照着清单装”,强调稳定和一致
- composer update 是“找最新的合规版本”,用于主动升级
开发阶段可以偶尔运行 update 来升级依赖,而 deploy 到服务器时一般只运行 install。
基本上就这些,不复杂但容易忽略细节。










