直接运行 composer config repo.packagist 可查看当前 Packagist 镜像源,空值表示使用官方源,JSON 格式返回则为已配置镜像;支持 -g 查全局、-l 查本地配置,config list | grep repo 可查所有镜像相关项。

composer config 查看当前镜像源地址
直接运行 composer config repo.packagist 就能查到当前配置的 Packagist 镜像源。如果返回空,说明用的是官方源(https://packagist.org);如果返回类似 {"url": "https://mirrors.aliyun.com/composer/"} 的 JSON,那就是已配置阿里云镜像。
注意:这个命令只查全局或当前项目的 repo.packagist 配置项,不显示其他镜像(比如仅对某组织生效的 repos.xxx)。
- 查全局配置(所有项目生效):加
-g参数 →composer config -g repo.packagist - 查当前项目配置(仅当前目录
composer.json同级的composer.lock或composer.json生效):不加参数或加-l→composer config -l repo.packagist - 如果提示
Key "repo.packagist" does not exist,代表没显式设置过镜像,走默认官方源
composer config list 查所有镜像相关配置
想一次性看到所有和镜像有关的设置,用 composer config -l | grep repo(Linux/macOS)或 composer config -l | findstr repo(Windows)。重点关注这几项:
-
repo.packagist:主镜像,覆盖整个 Packagist -
repositories.xxx:自定义仓库,比如repositories.foobar,可能指向私有源或特定组织镜像 -
repositories.packagist:旧版写法(Composer 1.x 常见),等价于repo.packagist,新版优先认后者
有些公司内部会额外配 repositories.company 指向内网私仓,这时 repo.packagist 可能仍是官方源,但实际请求会按优先级合并多个源。
为什么 composer config 显示了镜像,但 install 还是慢或失败?
配置存在 ≠ 实际生效。常见断点:
- 镜像 URL 写错或已下线(比如旧的腾讯云镜像
https://mirrors.cloud.tencent.com/composer/已停用) - 网络策略拦截:公司代理、防火墙、DNS 污染导致无法解析镜像域名
- HTTPS 证书问题:某些老旧系统或 Docker 环境缺少 CA 证书,访问 HTTPS 镜像失败后自动 fallback 到官方源(不报错但极慢)
- Composer 版本差异:v2.2+ 支持
repo.packagist对象写法,v1.x 只认字符串;混用会导致静默忽略
验证是否真走镜像:加 -vvv 参数重试安装,看日志里 Downloading https://... 的域名是不是你配置的镜像地址。
临时切换镜像但不想改 config
不用动配置文件,用 --repository-url 参数即可临时指定:
composer update --repository-url=https://mirrors.aliyun.com/composer/
这个参数会覆盖 repo.packagist 和所有 repositories.*,只对本次命令生效。适合调试、CI 环境或临时换源验证问题。
注意:它不支持 JSON 格式 URL(比如带 {"type":"composer","url":"..."}),只接受纯字符串地址;且不能和 composer config 的对象写法混用,否则会报 Invalid repository type。
镜像配置看着简单,但实际生效受 Composer 版本、配置层级、网络环境三重影响,最容易被忽略的是「配置写了但没生效」——别只信 config 输出,一定要用 -vvv 看真实请求地址。










