Composer config –list –global 查看全局配置清单【工具】

10次阅读

composer config –list –global 输出的是用户手动配置过的全局配置项,仅显示显式设置且未被覆盖的键值对,不包含默认值或未配置项。

Composer config –list –global 查看全局配置清单【工具】

composer config –list –global 输出的是什么

这条命令列出的是当前 Composer 全局配置文件 composer.json 中的 config 段内容,不是所有可设选项的文档清单,也不是本地项目配置。它只反映你实际写入过、且未被覆盖的全局设置。

常见误判是以为能看到所有默认值或支持的键名——其实不会。Composer 不会把未显式配置的项(哪怕有默认值)列出来。

哪些配置项最常出现在 –global 结果里

真正会被 composer config --list --global 显示出来的,基本只有你手动执行过 composer config --global xxx yyy 的那些项。高频出现的包括:

  • home:全局 vendor 和 cache 路径,默认是 ~/.composer(旧版)或 ~/.config/composer(v2+)
  • bin-dir:全局 bin 目录,比如 vendor/bin 的全局映射位置
  • cache-dirdata-dirhome:这三个容易被自定义,一设就出现在列表里
  • github-oauth:如果你登过 github,这里会存 Token(但不会明文显示,只标为 [hidden]

为什么有些配置没显示,但实际生效了

因为 Composer 配置分三层:命令行参数 > 项目级 composer.json > 全局 composer.json。某项没出现在 --global --list 里,可能是因为:

  • 它属于默认值,从未被你修改过(比如 process-timeout 默认 300,不设就不会列)
  • 你用 --local 或项目内 composer.json 设了,那它只影响当前目录
  • 环境变量COMPOSER_HOME 会覆盖 home,但不会让 home 出现在 list 结果中

想确认某项是否被某层覆盖,可用 composer config --all(显示所有层级合并后的结果),或加 --source 查看具体来自哪个文件。

怎么安全地查默认值和所有支持的配置键

Composer 官方不提供“内置配置清单”命令,但有两个可靠途径:

  • 查源码里的 src/Composer/Config.php,搜索 $defaultConfig 数组(v2.5+ 在 getDefaultConfig() 方法里)
  • 运行 composer config --help,末尾会列出常用键名(如 sort-packagesnotify-on-install),但不带说明
  • 注意:cafilehttp-basicplatform 这类键,即使从不设也合法,但除非你显式配置,否则不会出现在 --list --global 输出中

别依赖 --list --global 来发现新功能;它只是你的操作日志,不是手册。

text=ZqhQzanResources