必须严格满足三要素:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,其中composer为必填type值、url末尾必须带/、-g不可省略;否则静默失效,且需配合composer clear-cache清除旧元数据缓存。

composer config -g repo.packagist 命令必须带 type 和结尾斜杠
直接改环境变量对 Composer 镜像下载速度没用——Composer 不读 HTTP_PROXY 或 HTTPS_PROXY 来切源,它只认自己的配置项。真正起效的是 composer config -g repo.packagist 这条命令,但很多人输错就静默失效。
必须写成:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
缺一不可的三要素:
-
composer是中间的type参数,漏掉会导致写入纯字符串而非 JSON 对象,composer config -g repo.packagist输出会是"https://..."而不是{"type": "composer", "url": "..."},镜像不生效 - URL 末尾必须有
/,否则请求packages.json时变成https://mirrors.aliyun.com/composer/packages.json(404),实际仍 fallback 到packagist.org - 必须加
-g,否则只改当前项目composer.json,而多数人要的是全局生效
换源后不清缓存,等于没换
镜像只加速新请求,旧缓存里的 packages.json 还指向 packagist.org,Composer 会继续用它去拉 provider 列表,结果仍是慢速回源。执行 composer clear-cache 是硬性前置步骤,不是“建议”。
常见错误现象:
-
composer install卡在Downloading https://packagist.org/p/...,但composer config -g repo.packagist显示已配镜像 - 日志里出现
Resolving dependencies后长时间无响应——这阶段不走网络,但依赖元数据还是旧的,导致解析失败重试 - 之前用过已停服的
https://packagist.phpcomposer.com,缓存残留失效地址,清缓存尤其关键
并发下载参数名已变更,parallel-downloads 不再生效
Composer 2.2+ 已弃用 parallel-downloads,改用 http-max-concurrent-downloads。设了前者完全无效,且无任何提示。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
正确操作:
- 查当前值:
composer config -g http-max-concurrent-downloads - 设为 10(多数场景甜点值):
composer config -g http-max-concurrent-downloads 10 - 验证是否启用:加
-vvv运行composer install,日志中应出现类似Downloading https://mirrors.aliyun.com/composer/dists/ (10 concurrent) - 设太高(如 20+)容易触发
file_put_contents(/tmp/): failed to open stream,尤其在 Docker 或低内存 CI 环境
项目级 repositories 会覆盖全局镜像配置
如果项目 composer.json 里定义了 repositories 字段,哪怕只有一行,也会完全屏蔽全局 repo.packagist 配置。这不是叠加,而是替换。
典型坑点:
- 项目里写了
"repositories": [{"type": "composer", "url": "https://example.com"}],但没加"packagist.org": false,Composer 仍会 fallback 到官方源拉元数据 - 私有包或 path 类型仓库(
"type": "path")强制绕过镜像,这类包不会走你配的阿里云或清华源 - 新发布的包尚未同步到镜像(通常延迟 5–30 分钟),
composer show vendor/package -vvv会显示请求发往repo.packagist.org
真要项目级控制,必须显式禁用官方源:"packagist.org": false,且把镜像定义放在 repositories 数组首位。










