先确认镜像是否真生效:执行composer config -g repo.packagist,输出必须是完整URL或含"type":"composer"的标准JSON;若为null、空值或packagist.org,则配置失效;再运行composer install -vvv,日志中需出现mirrors-aliyun-com-composer/才表明走镜像,否则fallback至官方源。

composer install卡在downloading,先确认镜像是否真生效
90% 的“卡住”不是网络差,而是镜像配置静默失效。执行 composer config -g repo.packagist,输出必须是完整 URL(如 https://mirrors.aliyun.com/composer/)或标准 JSON 对象(含 "type": "composer" 和该 URL)。若返回 null、空值、https://packagist.org 或报错,说明没配对。
再跑一次 composer install -vvv,最后几行必须出现类似 Reading packages.json from cache at /https---mirrors-aliyun-com-composer/ 才算走镜像;如果还看到 packagist.org/packages.json,就是 fallback 了。
-
repo.packagist写成repos.packagist(多一个 s)→ 静默写进无效字段 - 命令漏掉
composer类型参数 → 自动 fallback 到官方源 - URL 末尾缺
/→ 拼接路径出错,返回 404
换镜像后仍 timeout?检查全链路是否被代理
Packagist 镜像只代理元数据(packages.json),ZIP 包下载可能仍直连海外源。华为云、腾讯云部分镜像站不代理 dist ZIP,阿里云镜像则支持全量同步。
真正切换全链路的命令是:composer config -g repos.packagist.org.url https://mirrors.aliyun.com/composer/(注意末尾无斜杠),而非仅改 repo.packagist。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 私有包、GitHub 仓库依赖、
path类型源不受镜像影响,需单独配置repositories - 某些包启用
dist+source双模式,镜像只加速dist,source仍走 GitHub API - 超时默认 300 秒,可临时提高:
composer config -g process-timeout 1800
中断后重试失败?别硬等,先看 --dry-run 输出
Composer 没有断点续传,但状态可判断:composer install --dry-run 是唯一可靠探针。若大量显示 Skipped,说明 vendor 状态可信,直接重试即可;若只显示 Installing 或报错,则必须清理。
-
Failed to extract vendor/package-name: unable to open archive→ ZIP 损坏,删vendor/+composer clear-cache -
Invalid argument supplied for foreach()→vendor/composer/installed.json截断,删vendor/后自动重建 - 磁盘满或权限不足导致解压中断 → 残留破损目录,不清空
vendor/后续必失败
项目级配置比全局更稳,尤其 CI 和团队协作
全局配置(-g)在 Docker、宝塔或 CI 中常因用户权限失效(如 www 用户读不到 root 的 ~/.composer/config.json)。项目级配置写进 composer.json,拉代码即生效,行为一致。
进项目根目录执行:composer config repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/(去掉 -g)。它会自动向 composer.json 的 repositories 字段追加 "packagist" 条目,不会覆盖已有私有源。
- 若
composer.json已有"repositories": []数组结构,别手动覆盖,否则可能删掉私有包源 - 首次换源后出现
hash does not match,直接删vendor/和composer.lock,再composer install - Composer 2.2+ 默认开启 packagist.org 回退机制,别轻易关掉——镜像同步延迟时这是保险丝
最易被忽略的是:镜像只解决下载慢,不解决 Resolving dependencies 卡顿。后者和本地 PHP 版本、config.platform.php、lock 文件老旧相关,和镜像无关。

















