可通过 composer show -s 命令直接获取 Composer 包的 GitHub 仓库 URL,其输出中 url 字段即为源码托管地址;也可用 composer info --format=json 配合 jq 提取 source.url,或检查 vendor 目录下包的 composer.json 文件。

如果您想获取某个 Composer 包的详细元数据,包括其源代码托管地址(如 GitHub 仓库 URL),可通过内置命令快速查询。以下是获取该信息的具体操作步骤:
一、使用 composer show 查看包基本信息
composer show 命令用于显示已安装或可安装包的名称、版本、描述及源码地址等元信息。默认不显示完整仓库链接,但配合参数可输出结构化详情。
1、在项目根目录下打开终端,确保已执行过 composer install 或 composer update。
2、运行命令查看指定包的简要信息:composer show vendor/package-name,例如 composer show monolog/monolog。
3、观察输出中 source 或 homepage 字段,部分包会直接显示 GitHub 地址;若未显示,则需启用详细模式。
二、启用详细模式显示完整仓库 URL
添加 -s(--source)或 -d(--details)参数可强制显示包的源码仓库配置,包括 type、url 和 reference 等字段,其中 url 即为 GitHub 仓库地址。
1、执行命令:composer show -s vendor/package-name。
2、在输出结果中查找 url 行,其值形如 https://github.com/vendor/package-name.git。
3、若提示包未安装,可添加 --all 参数查看全局可用包:composer show -s --all vendor/package-name。
三、通过 composer info 获取 JSON 格式原始数据
composer info 命令以 JSON 形式返回包的完整 composer.json 元数据,便于解析 source.url 字段,适用于脚本化提取。
1、运行命令:composer info vendor/package-name --format=json。
2、在返回的 JSON 中定位 source → url 键值对。
3、若需直接提取 URL,可结合 jq 工具(Linux/macOS):composer info vendor/package-name --format=json | jq -r '.source.url'。
四、检查本地 vendor 目录中的 composer.json 文件
已安装包的 composer.json 文件位于 vendor/vendor-name/package-name/composer.json,其中 source 字段明确记录了仓库地址。
1、进入对应路径:cd vendor/vendor-name/package-name/。
2、查看文件内容:cat composer.json(Linux/macOS)或 type composer.json(Windows)。
3、在文件中搜索 "source",确认 "url" 的值是否为 GitHub 地址。
五、使用 composer why-not 推导依赖来源(辅助验证)
当目标包未被直接 require,而是作为间接依赖引入时,composer why-not 可帮助定位其上游包,并顺藤摸瓜查到原始仓库。
1、运行命令:composer why-not vendor/package-name:dev-main(任意不存在的版本号触发信息输出)。
2、输出中将列出依赖该包的顶层包,再对顶层包重复执行 composer show -s 即可追溯至 GitHub 源地址。
3、注意:该方法仅用于间接依赖场景,不直接提供仓库 URL,需配合其他方法交叉验证。










