composer怎么查看包信息_composer info命令使用教程【查询】

composer show vendor/package 可查已安装包的完整元信息,包括版本、依赖、homepage、license、源码地址等;不带参数仅列简略清单,vendor/ 缺失时命令失效。

composer怎么查看包信息_composer info命令使用教程【查询】

直接用 composer show(或 composer info)就能查到包的完整信息,包括版本、依赖、homepage、license、源码地址等——它不是“教程级命令”,而是开发中高频调试和溯源的实用工具。

查某个包的详细元信息:用 composer show vendor/package

这是最常用场景:你想确认刚装的包到底是什么版本、文档在哪、是否开源、有没有被弃用。

  • composer show monolog/monolog 会输出 homepage(通常是文档链接)、source(GitHub 地址)、dist(下载包 URL)、autoload 配置、require 列表等
  • 注意:homepage 字段大概率就是官方文档入口,比如 https://github.com/Seldaek/monologhttps://monologphp.github.io/monolog/
  • 如果只执行 composer show(不带参数),只会列出所有已安装包的名称和版本,信息非常简略,基本没用
  • 若提示 “Package not found”,说明该包未被安装(vendor/ 里没有),或拼写错误(大小写敏感!)

查 license 授权协议:必须先确保 vendor/ 存在

很多人执行 composer licenses 却看不到结果,根本原因不是命令错,而是环境没准备好。

  • composer licenses 读取的是 vendor/ 下各包的 composer.json 里的 license 字段,不是远程仓库数据
  • 如果清过 vendor/ 又没运行 composer install,命令会直接报空或跳过——它不会自动重装
  • 想快速验证:先 ls vendor/monolog/monolog 看目录是否存在;不存在就先 composer install 再试
  • 某些包 license 字段写的是 MIT,有些是 BSD-3-Clause,还有些是 proprietary,别光看名字,得点进 composer.json 确认原文

为什么不用 composer search 查包详情?

composer search 是面向“发现未知包”的命令,不是查已装包的工具,两者定位完全不同。

  • composer search log 返回一堆含 “log” 的包名列表,但不告诉你哪个是主流、哪个已归档、哪个 require PHP 8.2+
  • 它不返回版本、homepage、license,也不校验当前项目是否兼容——容易搜到“看着像但不能用”的包
  • 真正要评估一个包是否可用,应该先 composer require vendor/package(触发依赖分析),再立刻 composer show vendor/package 看详情
  • 搜索后直接装:可以用 composer require "vendor/package:^3.0" 加版本约束,避免拉下不兼容的大版本

真正容易被忽略的点是:所有 show / info / licenses 命令都依赖本地 vendor/ 的完整性。删了 vendor/ 又没 install,它们就变成“查无此包”的哑命令——这不是 bug,是设计使然。