Composer config 命令用于设置项目级或全局级配置,加 --global 写入用户目录 config.json,不加则写入当前项目 composer.json;支持配置令牌、镜像源、bin-dir、插件开关及 HTTP 认证,并可通过 --list/--unset 查看或删除配置,优先级为项目级 > 全局级 > 默认值。

Composer 的 config 命令用于设置和管理配置项,支持项目级(当前目录的 composer.json)和全局级(影响所有项目的用户级配置)。关键在于是否使用 --global 选项。
设置全局配置(影响所有项目)
加 --global 参数时,配置会写入用户主目录下的 composer/config.json(Windows 通常在 %APPDATA%\Composer\config.json,Linux/macOS 在 ~/.composer/config.json)。
-
composer config --global github-oauth.github.com your_token:配置 GitHub 个人访问令牌,避免频繁输密码 -
composer config --global repo.packagist composer https://packagist.phpcomposer.com:更换 Packagist 镜像源(注意:新版 Composer 推荐用repos.packagist.org替代旧的repo.packagist) -
composer config --global bin-dir /usr/local/bin:统一设置可执行脚本安装路径
设置项目级配置(仅当前项目生效)
不加 --global 时,配置默认写入当前项目的 composer.json 文件的 config 字段中,只对该项目起作用。
-
composer config bin-dir bin:把 vendor/bin 下的命令软链到项目根目录的bin/目录 -
composer config allow-plugins true:允许当前项目启用插件(Composer 2.2+ 引入的安全机制) -
composer config http-basic.repo.example.com username password:为私有仓库配置 HTTP 认证凭据(仅本项目)
查看与删除配置
用 composer config --list 可查看当前生效的所有配置(含全局 + 项目级叠加结果);加 --global 则只显示全局配置。
- 查看全局配置:
composer config --global --list - 删除某项全局配置:
composer config --global --unset github-oauth.github.com - 删除项目级配置:
composer config --unset bin-dir
配置优先级与注意事项
Composer 配置遵循“项目级 > 全局级 > 默认值”的覆盖顺序。同一配置项在项目 composer.json 中定义后,会自动忽略全局同名设置。
- 修改后无需重启或刷新,下次运行
composer install或require即生效 - 全局配置建议谨慎使用,尤其涉及认证、镜像等可能影响安全或稳定性的项
- 团队协作时,项目级配置更易纳入版本控制,推荐将
config相关设置写进composer.json










