vendor/composer/installed.json 文件记录了项目中所有已安装 Composer 包的元数据,包括名称、版本、依赖、自动加载配置等信息,由 Composer 自动生成和维护,用于依赖管理、自动加载及插件查询,在 Composer 2.0+ 中可能以 installed.php 形式存在以提升性能。

vendor/composer/installed.json 文件记录了当前项目中所有已安装的 Composer 包的元数据信息。这个文件由 Composer 自动生成和维护,主要用于运行时查询已安装包的状态和配置。
包含的主要信息
该文件是一个 JSON 格式的数组,每一项代表一个已安装的包,常见内容包括:
- name:包的名称,如 monolog/monolog
- version:安装的具体版本号,如 v2.3.5
- dist:包的分发信息,包括下载 URL、sha1 或 sha256 校验值、类型(如 zip)等
- source:源码信息,比如 Git 仓库地址和引用的 commit hash
- require:该包所依赖的其他包列表
- autoload:自动加载配置,如 classmap、psr-4 等,Composer 使用这些信息生成自动加载器
- type:包类型,如 library、project、metapackage 等
- install-path:在 vendor 目录中的实际安装路径
- notification-url:某些包可能包含更新通知地址
- time:包发布的时间戳
作用与用途
这个文件对 Composer 自身和部分第三方工具非常重要,主要用途有:
- Composer 在执行 update、install 等操作时,会读取此文件来判断哪些包已经存在
- 插件或运行时工具可以通过解析它获取已安装包的 autoload 配置或版本信息
- 某些框架或库利用它实现包注册或服务发现机制
- 帮助处理包的卸载或更新时的路径清理
注意点
该文件不应手动修改,因为它是由 Composer 在安装或更新后自动生成的。如果你使用的是较新版本的 Composer(2.0+),实际路径可能是 vendor/composer/installed.php,这是为了提高性能而将 JSON 转为 PHP 数组缓存的形式,但内容结构基本一致。
基本上就这些 —— 它是 Composer 管理依赖的核心元数据快照之一。










