使用 composer show –why vendor/package-name 可查看当前项目中哪些包依赖指定包,例如 composer show –why monolog/monolog 会显示依赖路径;若需分析未安装包的引用情况,可访问 Packagist 网站查看 “Dependents” 列表,或使用 composer-require-checker 工具辅助分析实际使用情况。

Composer 本身没有内置的 depends 或 uses 命令来直接查看哪个包依赖了某个特定包,但你可以使用 composer-require-checker 或结合 Composer 的 show 命令间接实现类似功能。
使用 composer show 查看反向依赖(推荐方法)
运行以下命令可以查看哪些已安装的包依赖于某个特定包:
composer show --why vendor/package-name
例如,你想知道为什么 monolog/monolog 被安装,或者哪些包引用了它:
composer show --why monolog/monolog
输出会列出所有直接或间接依赖该包的项目,并显示依赖路径。
查看未安装包的依赖关系(分析 require)
如果你想在安装前了解某个包会被谁需要,可以先检查当前项目的 composer.json 中是否有其他依赖明确引用它。
也可以使用以下命令查看某包被哪些 Packagist 上的包引用(需借助外部工具或网站):
- 访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19
- 搜索目标包,如
symfony/http-Foundation - 页面下方会显示 “this package is suggest as a dependency by:” 和 “Dependents (N)” 列出使用它的其他包
使用第三方工具:composer-require-checker
虽然主要用于检查未声明的依赖,但 composer-require-checker 可帮助分析项目中实际使用了哪些包,间接辅助判断依赖用途。
安装:
composer global require composer/require-checker
运行:
composer-require-checker check
总结常用命令
最实用的方式是:
composer show --why vendor/package-name
它可以清楚告诉你当前项目中,哪个包引入了目标包,适合排查冗余依赖或升级影响范围。
基本上就这些。不需要额外脚本,--why 参数已经解决了大部分“谁用了这个包”的问题。