必须执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/配置阿里云镜像,严格满足键名repo.packagist、type值composer、url末尾带/三要素,否则静默失效;还需composer clear-cache清缓存,并删vendor和composer.lock后重装。

composer 下载慢不是网络差,是默认连 packagist.org —— DNS 解析慢、TLS 握手卡、首字节延迟高,甚至直接超时。换镜像不是“试试看”,而是必须做的第一步,且必须配对、配全、配准。
配置镜像源必须写对三处:键名、type 值、URL 末尾斜杠
执行这条命令才能真正生效(推荐阿里云):composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
错一个字符就静默失效,不报错也不提示:
-
repo.packagist是唯一合法键名,写成repos.packagist(多 s)或mirror都无效 - 中间的
composer是type值,漏掉它,Composer 2.x会 fallback 到默认源 - URL 必须以
/结尾:https://mirrors.aliyun.com/composer/✅,少斜杠会拼接出错返回404
项目级配置比全局更可靠,尤其适合 CI/CD 和团队协作
进项目根目录后运行(不加 -g):composer config repo.packagist composer https://mirrors.aliyun.com/composer/
该命令自动向 composer.json 的 repositories 字段追加 packagist 条目,不覆盖已有私有源:
- 配置随代码提交,新人拉完即用,行为一致
- CI 构建时不用额外 setup,每次读取最新设置
- 避免全局配置被不同用户或面板(如宝塔用
www用户执行)覆盖 - 如果项目已有
"repositories": {},别手动编辑 JSON——格式错一个逗号就导致composer install报错
换源后仍卡在 Downloading?先清缓存再重装
镜像只加速下载,但旧缓存里存着 packagist.org 的元数据,Composer 会优先读缓存并尝试从旧地址校验——结果就是卡在 DNS 或 TLS 握手,根本没发请求过去。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
必须执行:
composer clear-cache- 删掉
vendor/和composer.lock - 再跑:
composer install --no-cache(禁用缓存强制走新源) - 别试图保留旧
composer.lock——它记录的是旧源的包哈希,和镜像返回的元数据不兼容,必然报hash does not match
验证是否真走镜像,不能只看 config 输出
光跑 composer config -g repo.packagist 显示 URL 没用,得看到网络请求实际打到镜像域名才算数。
实测命令:composer show monolog/monolog -vvv 2>&1 | grep "Downloading"
日志里必须出现 mirrors.aliyun.com 或 mirrors.cloud.tencent.com 等镜像域名。如果看到 https://packagist.org 或 repo.packagi,说明配置没起作用。
真正卡住的时候,先 ping mirrors.aliyun.com 和 curl -I https://mirrors.aliyun.com/composer/packages.json 看底层通不通,比反复调 Composer 参数更省时间。










