composer config -g repo.packagist 命令没生效的主因是键名、参数或URL格式错误:必须用 repo.packagist(非 repos.packagist 等)、带 -g、type 为 composer、URL 为 HTTPS 且末尾含 /;同时需确保执行用户与运行环境一致,并通过 -vvv 日志验证真实请求源。
90% 的“换镜像没用”问题,根本不是网络或镜像本身的问题,而是这条命令写错了。Composer 2.9.6(当前主流版本)只认 repo.packagist 这个键名,漏掉 -g、少末尾斜杠 /、把 composer 类型参数写成 type: "composer" 或直接省略,都会导致静默 fallback 到 https://packagist.org。
repo.packagist 不能写成 repos.packagist(多一个 s)、packagist(少前缀)、mirror(Composer 不识别)composer 是必须的 type 值,不是可选参数;漏掉它,命令不报错但完全无效/:例如 https://mirrors.aliyun.com/composer/ ✅,https://mirrors.aliyun.com/composer ❌composer config -g repo.packagist,输出应为完整 JSON 对象(如 {"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}),空、null 或只返回原始 URL 字符串都说明失败全局配置写在 ~/.composer/config.json,但它只对「执行命令的用户」生效。宝塔「一键部署」、PHP 管理器、计划任务默认以 www 用户运行,而你终端里用 root 执行的 composer config -g 写进了 /root/.composer/config.json,www 根本读不到。
whoami,或查日志里的 UIDwww,就执行 sudo -u www composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer config -g 和后续 composer install 使用同一用户(常见错误是前面用 sudo,后面普通用户跑)sudo composer config -g 后普通用户能继承配置——Composer 不跨用户共享配置用 composer config repo.packagist composer https://mirrors.aliyun.com/composer/(不加 -g)会全量替换 composer.json 中的 repositories 字段,如果你已有私有 Git 源或 Satis 源,这条命令会直接清空它们。
"repositories": { "my-private": { "type": "vcs", ... } }?别跑命令,手动编辑 composer.json,在 repositories 对象里追加一条:"packagist": { "type": "composer", "url": "https://mirrors.aliyun.com/composer/" }
"packagist.org": false(注意:不在 repositories 内部,而在顶层),否则私有源 + 镜像共存时可能冲突vendor 和 composer.lock,再跑 composer install,否则旧 lock 文件里的 hash 可能和镜像元数据不匹配-vvv 不是调试可选项,它是唯一能确认“到底走哪个源”的证据。不加 -vvv 时,即使失败也只显示 “Downloading xxx”,不暴露真实请求域名,你根本不知道自己有没有真连上镜像。
composer install -vvv 2>&1 | grep "Downloading",观察日志里出现的域名:看到 mirrors.aliyun.com 才算真生效,看到 packagist.org 就说明配置失效或被项目级 repositories 覆盖composer install --no-plugins --repository=https://packagist.org,如果这时反而快了,就坐实是项目配置覆盖问题Resolving dependencies?那和镜像无关——镜像只加速下载,不解决依赖解析卡顿,得查本地 PHP 版本、扩展或约束冲突composer create-project laravel/laravel test --repository=https://mirrors.aliyun.com/composer/ -vvv