0

0

composer怎么查看包的依赖关系_composer怎么显示依赖树状结构【指南】

尼克

尼克

发布时间:2026-03-18 18:04:03

|

934人浏览过

|

来源于php中文网

原创

唯一稳定查依赖树的命令是 composer show --tree,它基于 vendor/ 和 composer.lock 真实快照,需在项目根目录运行;查谁依赖某包用 composer show --who,溯源自身声明用 composer why --tree,未安装包则加 --remote。

composer怎么查看包的依赖关系_composer怎么显示依赖树状结构【指南】

直接用 composer show --tree,别搜 composer tree

它不是 Composer 内置命令,是早年第三方插件遗留的混淆概念。现在唯一稳定、无需安装、不依赖实验配置的方案,就是 composer show --tree。这个命令读的是 vendor/composer.lock 的真实快照,反映的是“已经装进去”的依赖结构,不是 composer.json 里写的理想状态。

  • 必须在含 composer.json 的项目根目录运行,否则报错或输出为空
  • Composer 版本低于 2.0 会提示 Command "show" is not defined,先执行 composer self-update
  • 不加包名就扫全量——几百行起步,基本没法读;想查某个包,直接跟上名字:composer show --tree guzzlehttp/guzzle
  • --treeshow 子命令的参数,不是独立命令;写成 composer treecomposer show tree 都会失败

查“谁用了这个包”:用 composer show --who,不是 composer depends

composer depends 是 2.4+ 实验功能,默认关闭,还得先跑 composer config experimental.show-depends true,而且遇到 providereplace 或本地 path 仓库时容易漏判。而 composer show --who psr/log 直接列出所有在 requirerequire-dev 中声明了它的已安装包,干净、确定、无歧义。

  • 输出只显示“直接声明依赖”,比如 A → B → C,--who 只显示 B,不展开 A;这是设计,不是 bug
  • 要过滤开发依赖,加 --no-devcomposer show --who --no-dev psr/log
  • 如果结果为空,不代表没人用——可能是通过 provide 虚拟包间接提供,此时应回头看 composer show --tree 全局结构

为什么装了这个包?必须加 --tree 才能溯源到你自己

composer why monolog/monolog 默认只返回一级来源(比如 laravel/framework),但你真正想知道的是:“我自己的 composer.json 哪一行写了它?” 这时候不加 --tree 就等于白查。

小绿鲸英文文献阅读器
小绿鲸英文文献阅读器

英文文献阅读器,专注提高SCI阅读效率

下载
  • 正确姿势:composer why --tree monolog/monolog,输出末尾出现 your-project-name dev-main,才说明源头是你自己项目的 require
  • 若结尾带 [dev],说明来自 require-dev
  • 如果树在某一层中断(比如停在 laravel/framework 就没了),可能是它用了 provide 声明虚拟包,没继续向下解析

未安装的包也能查依赖,但得加 --remote

想评估一个还没装的包会不会拉进一堆旧版本组件?不用先 require 再删,直接用 --remote

  • composer show --remote --tree doctrine/orm —— 查远程包的依赖树,不碰本地环境
  • 它不支持 --depth--max-depth,真要截断只能靠终端工具:composer show --remote --tree monolog/monolog | head -n 50
  • --remote 查的是 Packagist 上该包最新稳定版的 composer.json,不是你锁死的旧版;如需看特定版本,得加 @v2.13.0 后缀

依赖树不是代码调用图,它不反映 usenew 或函数调用关系,只反映 Composer 解析出的包级依赖。最常被忽略的点是:不加 --no-dev 时,测试工具链(比如 phpunit 拉的 sebastian/diff)会混进生产依赖树里,误导你判断冲突来源。

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

341

2024.04.09

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

296

2024.04.09

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

795

2024.04.09

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

387

2024.04.10

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

166

2025.08.05

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

86

2025.08.05

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

84

2025.08.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

825

2026.03.04

Python WebSocket实时通信与异步服务开发实践
Python WebSocket实时通信与异步服务开发实践

本专题聚焦 Python 在实时通信场景中的开发实践,系统讲解 WebSocket 协议原理、长连接管理、消息推送机制以及异步服务架构设计。内容包括客户端与服务端通信实现、连接稳定性优化、消息队列集成及高并发处理策略。通过完整案例,帮助开发者构建高效稳定的实时通信系统,适用于聊天应用、实时数据推送等场景。

7

2026.03.18

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第二十四期_PHP8编程
第二十四期_PHP8编程

共86课时 | 3.5万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.6万人学习

第二十三期_PHP编程
第二十三期_PHP编程

共93课时 | 7.6万人学习

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

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