全局配置(-g)作用于用户所有项目,存储在系统级路径,适用于镜像源、token等通用设置;项目本地配置仅影响当前项目,通过composer.json的config字段生效,用于定制vendor目录、自动加载等。当两者冲突时,项目本地配置优先级更高,可覆盖全局设置,实现更精准的控制。

使用 composer config -g 和在项目目录中运行 composer config(无 -g)设置的配置项,作用范围不同,影响的行为也不同。
Git post-commit 钩子 + SQLite 提交索引工具。自动将每次提交的元数据(哈希值、作者、分支、仓库、主题)记录到本地 SQLite 数据库中,随后提供一个命令行接口(CLI),支持查询、列表展示、统计、删除和更新记录。 触发场景:管理 Git 钩子、跨仓库查询提交历史、定位某次提交所属的仓库、查看提交统计信息、将提交记录写入本地索引。 当用户提及“提交日志记录”、“提交索引”、“跨仓库查找提交”、“Git 钩子管理”,或希望以结构化方式查询其提交历史时(即使未明确指出该工具),请使
全局配置(-g)
通过 composer config -g 设置的选项保存在用户的全局 Composer 配置文件中,通常是:-
~/.composer/config.json(Linux/macOS) -
C:\Users\用户名\AppData\Roaming\Composer\config.json(Windows)
- 默认仓库镜像(如国内镜像源)
- GitHub OAuth token
- 全局 bin 目录位置
- 是否启用平台检查等行为
项目本地配置
在某个项目根目录下运行 composer config(不加-g),会修改该项目下的 composer.json 文件中的 config 字段。
这类配置只对该特定项目有效,不会影响其他项目。适合设置:
- 特定项目的 vendor 目录名
- 优化自动加载方式(如 classmap 优化)
- 项目特有的包稳定性要求(minimum-stability)
- 是否启用脚本执行等
优先级说明
当同一配置项同时存在于全局和项目本地时,项目本地配置优先级更高。例如:- 全局设置了镜像为阿里云
- 但某个项目显式配置了另一个镜像或恢复默认源
- 则该项目会使用自己的配置
基本上就这些。全局配置方便统一管理,项目配置更灵活精准。根据实际需要选择即可。

















