depends查“谁依赖我”,why查“我为什么被装上”;prohibits查版本冲突原因,why-not非真实命令,应结合prohibits与why分析或用--dry-run诊断。

depends 和 why 都是 Composer 提供的依赖分析命令,但视角相反、用途不同:前者查“谁依赖我”,后者查“我为什么被装上”。
列出所有直接或间接依赖指定包的项目或库。适合排查某个包是否被项目中其他依赖拖入,或评估移除某个包的影响范围。
--tree 可展开完整依赖路径composer depends monolog 会匹配 monolog/monolog
解释 Composer 为什么把某个包安装进项目 —— 是你 require 的,还是被某个已安装包作为子依赖拉进来的。核心用于诊断“意外安装”或“版本冲突来源”。
composer why symfony/http-foundation)required by root(你手动 require),还是 required by vendor/package(被其他包依赖)Package not found
Composer 没有 prohibits 或 why-not 命令。你可能混淆了以下两个概念:
composer prohibits <package></package> 是 真实存在的命令(从 Composer 2.2+ 开始),用于查找哪些已安装包与目标包存在版本冲突(即“禁止安装”的原因),比如因 conflict 规则或 PHP 版本不兼容why-not 并不存在;想了解“为什么某个包没被安装”,应结合 composer prohibits <package></package> 和 composer why <another-package></another-package> 交叉分析,或使用 composer update --dry-run 查看尝试安装时的拒绝原因composer depends <pkg></pkg> 看谁靠它活着vendor/?用 composer why <pkg></pkg> 追源头composer require 失败提示冲突?立刻用 composer prohibits <target-pkg></target-pkg> 找出拦路虎以上就是Composer的depends命令和why命令有何不同?(prohibits/why-not)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号