正确命令是 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,必须严格满足三要素:键名 repo.packagist(单数)、type 值显式为 composer、URL 以 https 开头且末尾带 /,缺一则静默失效。

直接改 composer config -g repo.packagist 就行,但必须写对三个东西:键名是 repo.packagist(单数、不能多 s),type 值必须显式写 composer,URL 得是 HTTPS 且末尾带 /。漏一个就静默失效,composer install 还卡在 Downloading。
为什么 composer config -g repos.packagist 不生效
因为 Composer 内部硬编码只认 repo.packagist(单数)。写成 repos.packagist(复数)后,配置会存进一个无效字段,composer config -g repo.packagist 查出来是空或 null,命令看似成功,实际没改到任何有效配置。
-
composer config -g repo.packagist输出为空?说明键名写错了 - 输出是
{"url": "https://packagist.org"}?说明根本没覆盖成功 - 用
composer config -g --unset repos.packagist清旧配置时也得注意:这里才是repos(复数),因为--unset操作的是字段路径,不是运行时识别的 key
Composer 2.2+ 用户该用 repositories.packagist.org
如果你用的是 Composer ≥2.2(查版本:composer --version),repo.packagist 可能被静默忽略。推荐改用新版键名:
- 设阿里云:
composer config -g repositories.packagist.org '{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}' - 设腾讯云:
composer config -g repositories.packagist.org '{"type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/"}' - 恢复默认:
composer config -g --unset repositories.packagist.org
注意:value 必须是合法 JSON 字符串(用单引号包裹整个值,内部双引号保留),URL 末尾 / 缺一不可,否则报 Invalid repository type。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
项目级配置比全局更可靠,尤其要提交 Git
进项目根目录,去掉 -g 参数执行命令,它会安全合并进 composer.json 的 repositories 字段,不会覆盖已有私有源:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/- 前提是原
composer.json中repositories是对象(如"repositories": {}),不是数组;如果是数组,命令会失败,需先手动转成对象 - 提交后,队友
git pull && composer install自动走镜像,composer.lockhash 一致,CI 构建稳定
别在项目里写 "packagist.org": false 或空 "repositories": [] —— 这会彻底屏蔽全局配置,连镜像都拉不到。
换完源必须做三件事,否则等于白配
改完别急着跑 install,这三步漏掉任意一个,请求照样发往 packagist.org:
- 验证配置:
composer config -g repo.packagist或composer config -g repositories.packagist.org,输出必须是你设的镜像 URL - 清缓存:
composer clear-cache,否则本地元数据仍指向旧源 - 抓真实请求:
composer show -p | head -3,第一行域名要是mirrors.aliyun.com;更准一点加-vvv跑composer update,看日志里Downloading的 URL
宝塔用户特别注意:PHP 管理器常以 www 用户运行,-g 默认写的是当前登录用户(如 root)的 ~/.composer/config.json,得额外给 www 用户也配一次。

















