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

使用 composer config -g 和在项目目录中运行 composer config(无 -g)设置的配置项,作用范围不同,影响的行为也不同。
全局配置(-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)
- 是否启用脚本执行等
优先级说明
当同一配置项同时存在于全局和项目本地时,项目本地配置优先级更高。例如:- 全局设置了镜像为阿里云
- 但某个项目显式配置了另一个镜像或恢复默认源
- 则该项目会使用自己的配置
基本上就这些。全局配置方便统一管理,项目配置更灵活精准。根据实际需要选择即可。










