composer show 是查看已安装包最轻量可靠的方式,读取 vendor/composer/installed.json,不依赖网络;加 -s 显示精简列表,--format=json 输出结构化数据,指定包名可查依赖树,--tree 展示完整依赖关系。
composer
show 列出所有已安装包
直接运行
就能输出当前项目中所有已安装的依赖包及其版本号,这是最轻量、最可靠的方式。它读取的是
,不依赖网络,也不触发 autoload 重建。
常见错误是误用
——那只是列出 Composer 自带命令,不是你的依赖。
加
参数(
)可显示精简列表,只含包名和版本,适合复制粘贴
加
(
)输出结构化 JSON,方便脚本解析
想查某个具体包?直接
,会显示其依赖树和详细信息
composer show --tree 查看完整依赖关系图
当你要确认某个包为什么被装进来(比如排查冲突或冗余),
比单纯列表有用得多。它从 root 项目出发,逐层展开每个包所依赖的子包,缩进表示层级。
注意:这个命令默认只显示顶层直接依赖的树;如果某个间接依赖没出现在任何直接依赖的 require 里,它可能不会出现在根路径下——这不是 bug,是 Composer 的扁平化安装策略导致的。
输出可能很长,建议配合
过滤,例如:
Windows PowerShell 用户需用
替代
该命令不支持
,JSON 输出目前仅限于普通
导出为 lock 文件快照:composer install --dry-run 不真装也能验依赖
很多人想“导出清单”其实是为部署或审计做准备,这时候真正需要的不是人眼可读的列表,而是可复现、可校验的依赖快照——那就是
本身。
Composer 2.9.6
Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。
下载
如果你还没生成过 lock 文件,或者想验证当前
能解析出什么确定版本,用
最稳妥。它会计算依赖、输出将要安装的包和版本,但不写入
或修改
。
输出里包含
区块,清晰列出每个包的源(dist / source)、版本、是否 dev
比
更轻:后者会尝试升级,前者只按现有约束求解
CI 环境中常用它做预检,避免上线前才发现版本解析失败
别用 composer dump-autoload 导出依赖
只是重新生成自动加载文件,跟依赖清单完全无关。有人看到它输出 “Generating autoload files” 就误以为在“导出”,结果白跑一轮还污染了
。
更隐蔽的坑是:某些旧脚本会把
当作“只导出”,但这个参数根本不存在——Composer 会静默忽略,然后照常安装。正确做法永远是用
或直接读
。
是权威来源,字段
和
分别对应 require / require-dev
若需纯文本清单(如给安全团队),用
提取:
不要解析
或遍历
目录——Composer 支持自定义安装路径,目录结构不可靠
依赖清单的本质不是“有哪些包”,而是“哪些确切版本被锁定”。盯着
看,比任何命令输出都准;而
是唯一既快又稳的人工检查方式。其他花活,大概率绕远路。
composer showvendor/composer/installed.jsoncomposer list-scomposer show -s--format=jsoncomposer show --format=jsoncomposer show monolog/monologcomposer show --treegrepcomposer show --tree | grep "guzzlehttp"findstrgrep--format=jsonshowcomposer.lockcomposer.jsoncomposer install --dry-runvendorcomposer.lockPackage operationscomposer update --dry-runcomposer dump-autoloadvendor/autoload.phpcomposer install --no-install--dry-runcomposer.lockcomposer.lockpackagespackages-devjqjq -r '.packages[].name + "@" + .packages[].version' composer.lockvendor/autoload.phpvendor/composer.lockcomposer show