您好,欢迎访问宜昌市隼壹珍商贸有限公司
400 890 5375composer.json 是项目依赖的声明文件,定义所需包及版本范围;composer.lock 是安装快照,记录实际安装的精确版本与哈希值,二者协同确保环境一致。
composer.json 是你项目的依赖“说明书”,而 composer.lock 是实际安装时的“精确快照”。两者配合,才能保证团队里每个人装的包版本完全一致。
这个文件是你手动维护的,写明项目需要哪些包、允许的版本范围(比如 "monolog/monolog": "^2.0"),还包含 autoload、scripts、require-dev 等配置。它不记录具体安装了哪个子版本,只管“大方向”。
每次运行 composer install 或 composer update 后,Composer 自动更新这个文件,里面存着每个包的确切版本号、完整 hash、依赖树结构,甚至 dist 包的下载地址。它让安装过程可重现。
composer install(而非 update),靠它还原一模一样的依赖composer install 就完全忽略 composer.json 中的版本范围,只按 lock 装团队里有人删了 lock 文件重装?有人直接改了 json 但没跑 update?这些都会导致环境不一致。
composer install
composer update vendor/package,别手动改 json 后跳过 updatecomposer update 验证composer show --outdated 定期查看哪些包可安全升级
composer.json 是“我想用哪些包”,composer.lock 是“我这次确实装了哪些包”。前者人写,后者机器管;一个管意图,一个保结果。