composer show 是查看包详细信息的正确命令,其别名 composer info 功能完全一致;执行 composer show vendor/package-name 可输出含 homepage、source、dist、license 的完整元数据,但 license 字段依赖 vendor/ 存在;不加参数时仅显示 name 和 version 是为避免刷屏;show 基于 vendor/composer/installed.json,反映实际安装状态而非 composer.json 声明。
composer show 是查看包详细信息的正确命令,composer info 仅是它的别名,功能完全一致——但很多人误以为 info 更“轻量”或“只查本地”,其实它和 show 完全等价,底层调用同一逻辑。
如何查已安装包的完整元数据(含文档链接、License、源码地址)
执行 composer show vendor/package-name(如 composer show monolog/monolog)会输出结构化信息,其中关键字段包括:
-
homepage:通常是官网或文档入口,比如https://github.com/Seldaek/monolog—— 这就是你找官方文档的地方 -
source:Git 仓库地址,可用于 fork 或阅读源码 -
dist:压缩包下载地址,含校验 hash,适合审计分发完整性 -
license:许可证类型(如 MIT、Apache-2.0),但注意:若vendor/被清空过,必须先composer install才能显示 license,否则该字段为空
为什么 composer show 不加参数时只列名称和版本?
不带包名直接运行 composer show,它默认走的是「简略列表模式」,只展示已安装包的 name 和 version。这不是 bug,而是设计取舍:避免在大型项目中刷屏输出几十个包的全部字段。