使用 composer why 命令可追溯依赖来源,如 composer why monolog/monolog 查看直接或间接引用该包的其他包;结合 -t 参数以树形结构展示完整依赖链,清晰呈现每层引用关系;通过 --no-dev 参数排除开发依赖,仅显示生产环境中的依赖来源。

在使用 Composer 管理 PHP 项目依赖时,经常会遇到某个包被间接引入的情况。想知道是哪个包引入了某个特定的依赖,可以通过 Composer 自带的命令来追溯依赖来源。
Composer 提供了 composer depends(或 composer why)命令,用于查看某个包是被谁引用的。
基本语法:
composer why vendor/package例如,你想知道是哪个包引入了 monolog/monolog,可以运行:
composer why monolog/monolog输出结果会显示直接或间接依赖该包的所有包,并列出版本和描述信息。
如果想看到完整的依赖路径,可以加上 -t 参数(tree 模式):
composer why -t monolog/monolog这会以树形结构展示依赖关系,清晰地看到从根包到目标包之间的每一层引用。
默认情况下,composer why 会包含 require-dev 中的依赖。如果只想看生产环境的依赖来源,可以加上 --no-dev 参数:
composer why --no-dev monolog/monolog这样结果中就不会包含仅用于开发的包。
基本上就这些常用方法。通过 composer why 和 -t 参数组合,能快速定位是哪个包带来了某个依赖,便于优化或排查冲突。不复杂但容易忽略。
以上就是composer如何查找哪个包引入了某个依赖_Composer查找依赖来源方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号