composer config -g repo.packagist 命令需同时满足键名 repo.packagist(单数小写带前缀)、type 为 composer、URL 为 HTTPS 且末尾含斜杠,缺一即静默回退至官方源。

composer config -g repo.packagist 这条命令只有三个条件全满足时才真正生效:键名必须是 repo.packagist(单数、小写、带 repo. 前缀),中间的 composer 是强制 type 值,URL 必须是 HTTPS 且末尾带斜杠。漏掉任意一个,它就静默回退到 https://packagist.org,不报错、不提示、也不加速。
为什么 composer config -g repo.packagist 总是没反应
不是网络慢,是 Composer 2.x 对输入格式做了硬性校验,失败即忽略,不写入也不报错。
-
repo.packagist写成repos.packagist、packagist.org或repository.packagist—— 全部无效 - 省略中间的
composer,或写成package、vcs、https—— 直接跳过 - URL 少了末尾斜杠,比如
https://mirrors.aliyun.com/composer—— 请求会拼成/composerpackages.json,404 后 fallback - 没加
-g,命令只改当前目录下的composer.json,换项目就失效
验证是否成功,只看这一行输出:composer config -g repo.packagist。正确结果必须是完整 JSON,例如 {"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}。返回空、null、Key does not exist 或仍是 https://packagist.org,说明根本没写进去。
项目级配置比全局更可靠
全局配置(-g)只写进当前用户的 ~/.composer/config.json,但在宝塔、GitHub Actions、Docker 容器里往往不生效——因为它们用的是 www、runner 或非 root 用户,读的不是你的配置文件。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 进项目根目录(确保有
composer.json),运行:composer config repo.packagist composer https://mirrors.aliyun.com/composer/(注意不带-g) - 该命令会自动修改
composer.json中的repositories字段,前提是原字段是对象{};如果是数组[],会报错,需先手动改为{} - 已有私有源(如 Git 类型的
"type": "vcs")不会被覆盖,命令会安全追加新项 - 切勿手写
"packagist.org": false—— 这会导致基础扩展(如ext-json)校验失败,composer install直接报错
换源后 composer install 还卡在 Downloading?
镜像只加速下载环节,但 Composer 会优先复用本地缓存和 composer.lock 里记录的旧地址。哪怕你刚配好镜像,它也可能还在往 packagist.org 发请求。
- 必须清缓存:
composer clear-cache - 必须删掉
vendor/和composer.lock—— 否则 lock 文件里的 dist URL、hash、元数据都还是旧源的 - 删完只跑
composer install(不是update),让 Composer 从头拉取镜像元数据、解析依赖、生成适配新源的 lock 文件 - 验证是否真走镜像:加
-vvv参数运行,日志里应出现mirrors.aliyun.com或mirrors.cloud.tencent.com,而不是packagist.org
哪些镜像地址现在还能用(2026 年 8 月实测)
截至今天,只有以下三个镜像全量同步、HTTPS 强制、延迟稳定(5 分钟内),其余旧地址基本不可靠:
- 阿里云:
https://mirrors.aliyun.com/composer/ - 腾讯云:
https://mirrors.cloud.tencent.com/composer/ - 华为云:
https://mirrors.huaweicloud.com/composer/
临时验证可用性,可直接 curl -I https://mirrors.aliyun.com/composer/packages.json 看是否返回 200 OK。别信“配完就 OK”,composer install -vvv 日志里没出现镜像域名,说明整个链路中至少有一环没打通——最常被忽略的是删 composer.lock 这一步。

















