Composer config 命令用于管理 composer.json 或 auth.json 中的键值对,控制行为偏好、镜像加速、私有仓库认证及开发调试等配置,支持项目级与全局设置。

Composer config 命令用于查看、设置或删除 composer.json 或全局配置(auth.json)中的键值对。它不直接安装包,而是管理 Composer 的行为偏好和认证信息。以下是最常用、最实用的配置项清单,按使用场景分类整理,兼顾本地项目与全局生效需求。
基础行为控制
这些配置影响 Composer 执行时的默认动作,适合写入项目 composer.json 或通过 --global 全局设置:
-
config.allow-plugins:控制哪些插件可被启用(如"phpstan/extension-installer")。设为false可禁用全部插件,设为数组可精确放行,避免安全风险或意外行为。 -
config.sort-packages:设为true后,运行composer require或update会自动按字母顺序整理require和require-dev列表,提升composer.json可读性。 -
config.preferred-install:指定包安装方式,默认dist(下载压缩包),设为source则克隆 Git 仓库,便于调试或开发依赖包;也可按包名精细化配置,如{"myvendor/mypackage": "source"}。
网络与镜像加速
国内用户高频使用,显著提升 install 和 update 速度:
-
config.repo.packagist:临时禁用 Packagist 官方源,设为false;或替换为镜像地址,如{"type": "composer", "url": "https://packagist.phpcomposer.com"}(注意:该镜像已停用,推荐用https://mirrors.aliyun.com/composer/)。 -
config.gitlab-domains:当项目使用私有 GitLab 实例时,添加域名(如["gitlab.example.com"]),让 Composer 正确识别并走 SSH/HTTP 认证流程。
认证与私有仓库
用于访问需登录的包源(如私有 Packagist、GitHub Packages、GitLab Registry):
-
config.http-basic.:例如composer config http-basic.github.com,将 GitHub Personal Access Token 存入x-oauth-basic auth.json,避免每次提示输入密码。 -
config.gitlab-token.:为 GitLab 私有包配置访问令牌,如composer config gitlab-token.gitlab.example.com abc123...。 -
config.github-protocols:指定 GitHub 克隆协议,设为["https"]强制走 HTTPS(适合无 SSH 环境),避免因 SSH 配置失败中断安装。
开发与调试辅助
提升本地开发体验和问题排查效率:
-
config.autoloader-suffix:为自动加载类生成唯一后缀(如"MyAppDev"),避免多个项目共用同一vendor/autoload.php时发生命名冲突(多见于 Docker 或共享环境)。 -
config.notify-on-install:设为false可关闭安装成功后的 “Thanks for installing…” 提示,适合 CI 环境减少日志噪音。 -
config.process-timeout:延长命令执行超时时间(单位秒),默认 300(5 分钟),大项目或慢网络下可设为600或更高,防止update被意外终止。
配置操作示例:composer config --global repo.packagist composer https://mirrors.aliyun.com/composer/composer config http-basic.bitbucket.org user@example.com my-app-password
所有配置均可通过 composer config --list 查看当前生效值,加 --global 查全局,不加则查当前项目。修改后无需重启,下次运行即生效。










