composer show --direct 用于列出项目中在 composer.json 的 require 和 require-dev 中显式声明的直接依赖项,不包含嵌套的间接依赖;通过该命令可清晰查看当前项目直接引入的第三方库及其版本,帮助区分手动添加的包与自动安装的依赖;结合 --format=json 可输出 JSON 格式便于脚本处理,使用 require 或 require-dev 子参数可分别查看生产或开发依赖;该命令适用于审计第三方库、排查安全问题、升级核心组件或清理无用依赖,是管理项目依赖结构的实用工具。

composer.json 文件中的 "require" 和 "require-dev" 部分显式添加的包,而不是这些包所依赖的嵌套依赖(即间接依赖)。
查看直接依赖项
运行以下命令可以查看当前项目安装的所有直接依赖:
composer show --direct
区分直接与间接依赖
Composer 项目中的依赖分为两类:-
直接依赖:你在
composer.json中手动添加的包,例如 Laravel、PHPUnit 或 Guzzle。 - 间接依赖:直接依赖所依赖的其他包,由 Composer 自动解析并安装。
--direct 参数能帮助你快速识别哪些是自己引入的,避免混淆。
常用组合参数
你可以结合其他选项让输出更清晰:-
composer show --direct --format=json:以 JSON 格式输出,适合脚本处理。 -
composer show --direct require:仅显示生产环境的直接依赖(排除 require-dev)。 -
composer show --direct require-dev:只看开发依赖。
实际应用场景
这个命令在以下情况特别有用:- 审计项目中你主动引入的第三方库,排查安全或版本问题。
- 准备升级核心组件时,确认当前有哪些关键依赖。
- 清理不再需要的包,优化
composer.json结构。
composer show --direct 能帮你更清楚地掌握项目的依赖结构,不复杂但容易忽略。










