当前生效的镜像源需通过 composer config 查看,优先级为项目 composer.json > 用户 config.json > 默认源;运行 composer config --list | grep repositories 可查全部配置,重点关注 repositories.packagist.org。

Composer 当前镜像源不是靠 composer show 或 composer info 查的,而是查 composer config 的全局或项目级仓库配置。
查当前生效的镜像源(最常用)
Composer 镜像源实际是通过 repositories 配置项控制的,优先级:项目 composer.json > 当前用户 config.json > Composer 默认源。直接运行:
composer config --list | grep repositories
如果只关心主源(即 packagist.org 的镜像),重点看 repositories.packagist.org 这一项。国内常用镜像会显示类似:
repositories.packagist.org.url https://mirrors.aliyun.com/composer/
注意:--list 显示的是所有配置,含注释行;加 --global 可单独查全局配置,避免被项目配置干扰。
区分全局镜像和项目镜像
项目内执行 composer config repos.packagist.org 返回空?说明没在项目 composer.json 里覆盖源;但可能全局已设。此时应:
- 查项目级:运行
composer config repos.packagist.org(无--global) - 查全局级:运行
composer config --global repos.packagist.org - 若两者都未设置,则回退到 Composer 默认行为:走官方源(或环境变量
COMPOSER_REPO_PACKAGIST指定的地址)
错误认知:以为 composer diagnose 会报镜像信息——它只检查连通性,不输出源地址。
临时禁用镜像或切回官方源
调试依赖问题时,常需确认是否镜像导致同步延迟或元数据异常。不用删配置,直接临时覆盖:
- 本次命令生效:加
--repository=https://packagist.org,例如composer update --repository=https://packagist.org - 临时清空项目镜像:运行
composer config --unset repos.packagist.org(仅影响当前项目) - 注意:全局镜像未 unset 时,项目 unset 后仍会继承全局配置
镜像切换后,composer clear-cache 是必须步骤,否则旧包信息可能仍从缓存读取。
常见镜像命令速查(带参数说明)
以下命令全部基于 composer config,没有独立“镜像命令”:
- 设阿里云镜像(全局):
composer config --global repos.packagist.org '{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}' - 设腾讯云镜像(项目级):
composer config repos.packagist.org '{"type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/"}' - 删项目镜像:
composer config --unset repos.packagist.org - 还原默认源(本质是删掉自定义):
composer config --unset repos.packagist.org+composer clear-cache
镜像 URL 必须带协议(https://),结尾不加斜杠;type 字段不能省,否则 Composer 无法识别为合法仓库。











