卡在downloading或loading composer repositories,90%因镜像未生效:命令缺-g、键名写错(如repos.packagist)、漏type值composer、url末尾缺/,任一错误即静默回退packagist.org;必须执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/并清缓存验证。

卡在 Downloading 或 Loading composer repositories 不动,90% 不是网络差,而是镜像根本没生效——命令写错、缓存没清、URL 少斜杠,三者任一出问题都会静默 fallback 到 packagist.org。
composer config -g repo.packagist 命令必须带全这四要素
缺一不可,否则配置写进无效字段,Composer 完全无视:
-
repo.packagist是固定键名(单数、全小写、无s),写成repos.packagist或packagist.org都无效 - 必须加
-g,否则只改当前项目composer.json,换目录就失效 - 必须显式指定
composer作为 type 值,漏掉会报Repo is not configured properly,且部分包仍走官方源 - URL 必须以
/结尾:https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(拼路径变成/composerpackages.json直接 404)
验证是否真生效,不能只看命令有没有执行
执行完配置命令后,必须双验证:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer config -g repo.packagist,输出必须是完整 JSON 对象,例如:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"};返回null、空值或https://packagist.org都说明失败 - 跑一次
composer install -vvv,最后几行必须出现类似Reading packages.json from cache at /https---mirrors-aliyun-com-composer/;如果还看到https://packagist.org/packages.json,就是 fallback 了 - 注意:
composer diagnose的 “Repo” 行若仍显示https://packagist.org,大概率是项目级repositories字段覆盖了全局配置
清缓存不是可选步骤,是强制动作
缓存里存着旧的元数据和 packages.json,Composer 会优先读本地缓存再校验远程地址——哪怕你已切镜像,它仍反复尝试从 packagist.org 拉取,卡在 DNS 或 TLS 握手阶段:
- 必须执行
composer clear-cache(不是composer cache-clear,后者已废弃) - 如果项目已有
composer.lock,它里面记录的是原始dist.url,即使镜像生效,composer install仍会先试旧地址;建议删掉vendor和composer.lock后重装,或运行composer update --lock强制刷新所有 dist URL - CI 或宝塔环境常因用户权限问题读不到 root 的全局配置,此时应改用项目级配置:
composer config repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/(不加-g),并提交到 Git
别踩这些镜像地址坑
镜像地址格式差异大,复制粘贴时极易出错:
- 阿里云:
https://mirrors.aliyun.com/composer/ - 腾讯云:
https://mirrors.cloud.tencent.com/composer/ - 华为云:
https://mirrors.huaweicloud.com/repository/php/composer/(注意中间有/repository/php/) - 清华源:
https://mirrors.tuna.tsinghua.edu.cn/composer/ - 已停用地址(2025 年底起陆续下线):
https://packagist.laravel-china.org、https://packagist.phpcomposer.com,继续用会报Could not resolve host或 cURL error 60
最常被忽略的是 composer.lock 里的 dist.url 还指向境外源,哪怕镜像配置完全正确,下载阶段仍会先发请求到旧地址——这个细节不处理,换镜像等于白换。










