composer怎么查看包的作者信息_composer info命令【笔记】

5次阅读

能,但取决于包的composer.json是否填写authors字段;运行composer info vendor/package可查看,若为空数组或缺失则说明包未维护该信息。

composer怎么查看包的作者信息_composer info命令【笔记】

composer info 能查到作者信息吗

能,但要看包的 composer.json 里有没有填 authors 字段——不是所有包都填,很多只写了 namedescription。直接运行 composer info vendor/package,输出里如果有 authors 一行,通常就是数组格式,含 nameemailhomepage 等字段。

常见错误现象:composer info 输出里压根没出现 authors,或只显示空数组 []。这不是命令用错了,是包本身没维护这部分元数据。

  • 使用场景:排查依赖来源、确认是否为官方维护、联系贡献者前快速核对
  • 注意区分 maintainers(若有)和 authors——前者更可能是当前活跃维护者,后者常指最初创建者
  • composer info 不加参数时列出所有已安装包,但不会展开作者信息;必须指定具体包名才能看到完整字段

怎么让 composer info 显示更全的字段

默认输出是精简格式,作者信息可能被折叠或省略。加 -s--show)参数可强制显示全部 JSON 字段,包括 authorssupportfunding 等:

composer info -s monolog/monolog

这个参数不改变数据源,只是控制输出粒度。如果包的 composer.jsonauthors 是空的,-s 也只会显示 "authors": []

  • 性能影响:无。只是解析本地已安装包的 composer.lockvendor/composer/installed.json,不联网
  • 兼容性:-s 在 Composer 2.0+ 稳定支持;1.x 版本需用 --no-dev 配合其他参数模拟,但不推荐——升级 Composer 更实际
  • 别指望 composer show:这是旧命令别名,行为与 info 一致,无额外字段

作者信息为空时,还能从哪找

composer info -s 显示 authors: [],说明包的元数据缺失。这时得跳出去查:

  • 看包的 gitHub/gitlab 仓库主页:URL 通常在 sourcehomepage 字段里,或者直接用 composer info 输出中的 sourceurl
  • composer.json 原始文件:访问 packagist.org 页面,点 “Source” 链接,翻到根目录下的 composer.json
  • 注意 type 字段:如果是 metapackageproject,基本没有作者信息,这类包不提供实际代码
  • 别信 composer search:它只搜包名和描述,不索引作者字段

为什么有些包作者显示为 “N/A” 或乱码

这通常是编码或解析问题,不是 Composer 本身 bug。常见于包的 composer.jsonauthors 字段用了非 UTF-8 编码,或包含不可见控制字符(比如 windows 换行符混入 JSON 字符串)。

实际表现:终端里作者名显示为 ???N/A,或整行错位。此时 composer info -s 输出的 JSON 可能已损坏,php 解析失败后 fallback 到空值。

  • 验证方式:用 cat vendor/vendorname/package/composer.json | jq '.authors'(需装 jq),看原始 JSON 是否合法
  • 解决思路:不是你本地的问题,而是包发布时没校验 JSON 格式;只能反馈给包作者,或临时 fork 后修复
  • 兼容性陷阱:某些老旧 CI 环境(如 PHP 7.2 + Composer 1.6)对 Unicode 处理更脆弱,升级环境能缓解但不能根治

作者信息本质是“尽力而为”的元数据,不是契约。真正关键的永远是代码行为、版本号、许可证和 issue 记录——这些才决定能不能用、出问题找谁。

text=ZqhQzanResources