最直接的方式是运行 composer config -g repo.packagist 查看是否配置了镜像url;若为空或报错,则可能使用默认源或项目级/环境变量覆盖。

如何确认当前 Composer 是否使用了中国镜像
最直接的方式是查看全局配置中是否设置了 repo.packagist 或 repositories.packagist.org 的替换规则。运行以下命令即可快速检查:
composer config -g repo.packagist
如果输出类似 {"type": "composer", "url": "https://mirrors.aliyun.com/composer/"},说明已启用阿里云镜像;若返回空或报错 Command "config" is not defined(旧版 Composer),则可能用的是 packagist.org 的默认配置,或通过 repositories 数组手动覆盖过。
取消镜像的两种有效方式(按优先级)
新版 Composer(2.2+)推荐用 repositories.packagist.org 配置项控制镜像开关,老版本则依赖 repo.packagist。回退时需匹配你当初设置的方式:
- 如果你用过
composer config -g repo.packagist https://packagist.org设置为官方源,直接执行:composer config -g --unset repo.packagist - 如果你用的是新版写法(如
composer config -g repositories.packagist.org '{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}'),应执行:composer config -g --unset repositories.packagist.org - 如果不确定,可先运行
composer config -g -l查看所有全局配置项,再针对性--unset
为什么删了配置还走镜像?常见残留点
镜像行为不消失,往往不是配置没删干净,而是有更隐蔽的生效层级:
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 项目级配置(
composer.json中的repositories字段)优先级高于全局,检查并删除其中类似{"packagist.org": {"type": "composer", "url": "https://mirrors.tuna.tsinghua.edu.cn/composer/"}}的条目 - 环境变量
COMPOSER_REPO_PACKAGIST会强制覆盖配置,运行echo $COMPOSER_REPO_PACKAGIST(Linux/macOS)或echo %COMPOSER_REPO_PACKAGIST%(Windows)确认是否被设值 - 某些 IDE(如 PHPStorm)或 Docker 构建脚本会自动注入镜像配置,需检查启动参数或
docker-compose.yml中是否含COMPOSER_*变量
验证是否真正回归官方源
光看配置不等于实际请求走对地方。最可靠的验证方式是开启调试模式抓包:
composer install -vvv 2>&1 | grep "Downloading https"
观察输出的 URL 域名是否为 packagist.org 或 github.com(而非 mirrors.aliyun.com 等)。注意:Composer 会缓存元数据,首次切换后建议加 --no-cache 参数排除干扰,例如:composer clear-cache && composer update --no-cache -vvv
镜像配置的“取消”动作本身很简单,但 Composer 的多层配置叠加机制会让回退效果延迟显现,尤其在 CI 环境或容器中——别只盯着 config -g,项目根目录和环境变量才是藏雷最多的地方。










