installed.json 是 Composer 维护的本地安装快照,记录已安装包的名称、版本、路径等元数据,用于判断依赖状态、避免重复安装,并支持自动加载;它由 Composer 自动生成并配合 composer.lock 和 composer.json 实现依赖一致性管理。

Composer 使用 installed.json 文件来记录项目中已安装的依赖包信息,帮助它管理依赖状态和执行更新、卸载等操作。这个文件通常位于 vendor/composer/ 目录下,是 Composer 在安装或更新包之后自动生成的。
installed.json 的作用
该文件的核心作用是保存当前项目中所有已安装包的元数据,使 Composer 能够:
- 知道哪些包已经安装(包括版本、类型、自动加载信息等)
- 在运行
composer update或composer remove时判断变更内容 - 避免重复安装或冲突
- 支持插件和自动加载机制正确初始化
文件结构与关键字段
installed.json 是一个 JSON 格式的数组,每一项代表一个已安装的包。常见字段包括:
-
name:包名,如
monolog/monolog -
version:安装的具体版本,如
2.9.1 -
type:包类型,如
library、plugin等 - dist 或 source:安装来源信息(如下载的压缩包 URL 或 Git 仓库地址)
-
autoload:自动加载配置,用于生成
autoload.php -
install-path:该包在本地
vendor目录中的实际路径
如何被 Composer 使用
当运行 composer install 时,Composer 会:
包装印刷厂网站源码适合印刷公司、图文门店、打印店进行区域业务拓展.通过网站展示业务,如特惠印刷楼书,纸杯,报纸书刊,画册,手提袋,信纸信封,海报,户型单,宣传单,等各种印刷品进行区域业务拓展,方便客户找到厂家。 易优cms包装印刷厂网站源码是基于易优cms开发,包含电脑端及移动端,如果需要小程序的话可以购买易优cms小程序插件,网站安装搭建简单,方便运营维护。
- 读取
composer.lock中锁定的版本 - 检查
installed.json判断是否已有对应包且版本一致 - 若不一致或缺失,则下载并安装,并将信息写入
installed.json
在执行 composer update 后,Composer 会重新生成此文件以反映最新安装状态。
与其他文件的关系
- composer.json:声明需要哪些包
- composer.lock:锁定依赖树的具体版本
- installed.json:记录当前实际安装到磁盘上的包状态
三者配合确保依赖的一致性和可重复部署。例如,即使 composer.lock 存在,如果 installed.json 缺失或不完整,Composer 仍会进行补全安装。
基本上就这些。Composer 正是通过 installed.json 维护了一个“已安装包的本地快照”,从而实现高效、可靠的依赖跟踪。这个文件虽小,却是运行时依赖管理的关键一环。









