答案是镜像源配置错误或元数据缓存未刷新导致Composer未连接真实镜像,应检查项目级repositories是否屏蔽全局设置,并用composer update --refresh(≥2.5)强制更新packages.json缓存。

镜像源配置错误或缓存未刷新,是 composer update 卡在 “Updating dependencies” 或 “Nothing to install or update” 的最常见原因——不是网络慢,而是 Composer 根本没连上你以为的中文镜像。
确认镜像是否真生效,别信 config 命令回显
执行 composer config -g repo.packagist 输出正常,不代表项目实际用了该镜像。项目级 repositories 字段会完全屏蔽全局设置,哪怕只写了 {"packagist.org": false},也会 fallback 到官方源甚至静默失败。
- 运行
composer config --list | grep repositories.packagist.url,输出必须是你配置的镜像地址(如https://mirrors.aliyun.com/composer/) - 打开项目根目录的
composer.json,搜索"repositories"—— 若存在,且 URL 是已停用的https://packagist.phpcomposer.com或空对象{},直接删掉整段 - 临时验证:运行
composer config --unset repositories(不加-g),再试composer update
composer update --refresh 才能解决元数据延迟
镜像站已同步新包,但本地仍卡在 “Nothing to install or update”,是因为 Composer 默认复用 15 分钟内缓存的 packages.json,根本不去远程拉最新元数据。这不是网络问题,是策略性跳过。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 仅限 Composer ≥ 2.5:
composer update --refresh会丢弃所有缓存的packages.json和provider-*.json,只从当前生效镜像重新下载元数据,不碰 ZIP 缓存 - 老版本(≤ 2.4)不支持该参数,只能手动清理:
rm -rf $(composer config --global cache-dir)/repo/https---mirrors-aliyun-com-composer -
composer clear-cache没用——它清的是 ZIP 和 provider 缓存,下次update仍会重建并复用旧packages.json
阿里云/腾讯云镜像才是可靠选择,Laravel China 已不稳定
https://packagist.laravel-china.org 自 2025 年底起频繁返回 502/503,而阿里云和腾讯云镜像节点多、HTTPS 响应快、同步及时。别再用已停用的 phpcomposer.com。
- 全局设置(推荐):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 设完立刻清缓存:
composer clear-cache,否则旧元数据仍按 packagist.org 地址发起请求 - 验证是否生效:
composer diagnose中 “Repo packagist.org:” 行后显示的域名必须匹配你的镜像;或跑composer show -p | head -3,第一行源 URL 应含mirrors.aliyun.com
卡在 Resolving dependencies 是本地求解器问题,换镜像没用
如果 composer update -vvv 停在 Resolving dependencies through SAT,说明还没开始下载,纯属本地依赖解析耗时——宽泛约束(如 "php": "^7.4 || ^8.0")、未锁定的 dev-main 分支、或 require-dev 工具间冲突,都会让 SAT 求解器穷举组合。
- 缩小更新范围:
composer update monolog/monolog guzzlehttp/guzzle,避免全量解析 - 临时跳过平台检查加速调试:
composer update --ignore-platform-reqs(上线前务必补全环境) - 升级 Composer:
composer self-update,新版 Solver 算法优化明显;注意 PHP 版本兼容性(Composer 2.5+ 要求 PHP ≥ 8.0)
真正容易被忽略的是:项目级 repositories 配置的优先级高于全局,且写法容错极低——key 必须是 packagist(不能是 aliyun 或 packagist.org),值必须是完整 URL 加斜杠结尾,且不能和其他仓库混在数组里。任何一处偏差,镜像就形同虚设。

















