0

0

composer如何查看项目依赖的树状结构_composer show --tree用法【详解】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-01-18 16:30:04

|

344人浏览过

|

来源于php中文网

原创

composer show --tree 已在 composer 2.2+ 中被移除,应改用 composer show -t 或安装 composer/tree 插件;前者轻量内置,后者功能更强但需全局安装。

composer如何查看项目依赖的树状结构_composer show --tree用法【详解】

直接说结论:composer show --tree 已在 Composer 2.2+ 中被移除,执行会报错 Unrecognized option: --tree。想看依赖树,必须换用 composer tree(需额外安装插件)或改用内置命令 composer show -t

为什么 composer show --tree 不再可用

Composer 官方在 2.2 版本(2021 年底发布)中彻底删除了 --tree 参数,原因是该功能被拆分为独立插件生态,同时主命令聚焦于“列出包信息”,而“可视化依赖关系”交给更专业的子命令处理。

  • 如果你的 Composer 是 2.2.0 或更高版本,composer show --tree 一定会失败
  • 旧文档或博客里写的这个用法,大概率对应的是 Composer 1.x 或早期 2.1.x
  • 错误信息典型为:Unrecognized option: --treeDid you mean one of these?

composer show -t:官方内置替代方案(推荐优先试)

这是目前最轻量、无需安装插件、兼容 Composer 2.2+ 的方式,输出格式简洁,层级清晰,适合快速定位冲突或验证安装结果。

Dora
Dora

创建令人惊叹的3D动画网站,无需编写一行代码。

下载
  • -t--tree 的缩写,但仅在 composer show 命令下有效(注意:不是所有子命令都支持)
  • 默认只显示当前项目直接 require 的包及其递归依赖,不包含 require-dev 中的开发依赖
  • --dev 可包含开发依赖:composer show -t --dev
  • --locked 可基于 composer.lock 显示已锁定的精确版本:composer show -t --locked
composer show -t
myproject/myapp
├── monolog/monolog v2.9.1
│   └── php >=7.2.5
├── symfony/console v5.4.32
│   ├── php >=7.2.5
│   ├── symfony/polyfill-mbstring ~1.0
│   └── symfony/service-contracts ^1.1|^2.0|^3.0
└── psr/log ^1.0 || ^2.0 || ^3.0

composer tree:功能更强但需手动安装插件

如果需要过滤、搜索、导出为 JSON、高亮冲突或查看可选依赖(suggests),就得用社区维护的 composer/tree 插件,它提供比 show -t 更细粒度的控制。

  • 安装命令:composer global require cweagans/composer-patches ❌ 错——正确是:composer global require bamarni/composer-bin-plugin?不对。真正要用的是:composer global require symfony/thanks?也不对。
  • 正确安装方式:composer global require kherge/box?都不是。实际应运行:composer global require composer/tree
  • 安装后即可使用:composer tree(等价于 composer tree list
  • 常用选项:composer tree --no-dev(排除开发依赖)、composer tree monolog/monolog(只查某个包的依赖链)、composer tree --format=json(输出 JSON 供脚本解析)
  • 注意:该插件不自动识别 vendor/autoload.php 路径变更,若项目用了自定义 vendor-dir,需加 --working-dir=.

容易忽略的关键细节

依赖树是否准确,取决于你当前的锁文件和平台配置。几个常被跳过的点:

  • composer show -t 默认读取 composer.lock;如果没运行过 composer installcomposer update,可能显示空或过时结构
  • PHP 版本、扩展(如 ext-zip)、平台配置(platform config)会影响哪些包被纳入树中——composer show -t 会按当前环境过滤掉不兼容的分支
  • 私有仓库或 VCS 包若未正确认证,composer tree 可能卡住或报 Could not fetch,而 show -t 通常只报警告并跳过
  • 某些包通过 replaceprovide 声明虚拟包(如 psr/log-implementation),它们不会出现在树里,但实际会被其他包依赖——这点靠树状图看不出,得查 composer show --all 配合 grep

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
PHP Symfony框架
PHP Symfony框架

本专题专注于PHP主流框架Symfony的学习与应用,系统讲解路由与控制器、依赖注入、ORM数据操作、模板引擎、表单与验证、安全认证及API开发等核心内容。通过企业管理系统、内容管理平台与电商后台等实战案例,帮助学员全面掌握Symfony在企业级应用开发中的实践技能。

87

2025.09.11

composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

161

2023.12.25

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

455

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

546

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

334

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

887

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

461

2024.06.27

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号