installed.json是Composer生成的元数据快照,位于vendor/composer/,记录已安装包的名称、版本、路径、自动加载配置等信息,用于构建自动加载映射、支持插件运行和依赖解析,不可手动修改,需通过composer install/update维护,其内容与composer.lock一致可确保环境稳定。

理解 Composer 的 installed.json 文件,关键在于明白它是 Composer 在执行安装或更新操作后生成的元数据快照。这个文件记录了当前项目中所有已安装的依赖包及其详细信息,主要用于维护依赖状态、执行自动加载和进行依赖解析。
1. 文件位置与作用
该文件通常位于:
vendor/composer/installed.json
它不是供手动编辑的配置文件,而是由 Composer 自动管理的运行时数据。
主要用途包括:
构建类自动加载映射(如 PSR-4、PSR-0) 记录每个包的实际安装路径和版本 支持插件获取已安装包的信息 辅助依赖冲突检测和更新判断
2. 文件结构解析
文件内容是一个 JSON 数组,每一项代表一个已安装的包,常见字段如下:
name:包名称,如 “monolog/monolog” version:安装的具体版本,如 “2.9.1” source:源码来源,包含 type(git)、url 和 reference(commit hash) dist:分发包信息,含 url、type(zip)、shasum 和 reference type:包类型,如 “library”、”metapackage”、”plugin” autoload:自动加载配置,定义了 PSR-4、classmap 等规则 install-path:相对于 vendor 目录的安装路径 notification-url:Composer 更新检查用的回调地址 license:许可证信息 authors:作者列表 description:包描述 support:支持信息,如 issue tracker 链接
某些包(如 metapackage)可能缺少 source/dist 字段,因为它们不包含实际代码。
3. 实际查看与分析方法
你可以直接用文本编辑器或命令行查看内容:
cat vendor/composer/installed.json
为便于阅读,可格式化输出:
php -r “echo json_encode(json_decode(file_get_contents(‘vendor/composer/installed.json’)), JSON_PRETTY_PRINT);”
重点关注以下几点:
确认某个包是否真的被安装以及其确切版本 检查 autoloading 配置是否正确生成 排查为何某个包未参与自动加载(可能是 autoload 配置缺失) 查看包是从 dist 缓存还是从源仓库(如 git)安装的
4. 注意事项与使用建议
虽然可以读取该文件,但不应手动修改它。任何更改都应在 composer.json 中进行,并通过 composer install 或 composer update 触发重新生成。
在 CI/CD 或生产环境中,如果发现 installed.json 与 lock 文件不符,可能导致自动加载异常或版本偏差,应优先运行 composer install 同步状态。
基本上就这些 —— 它是 Composer 内部机制的重要组成部分,理解其结构有助于调试依赖问题。
以上就是如何分析并理解Composer的installed.json文件内容?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/128584.html
微信扫一扫
支付宝扫一扫