必须配对、配全、配准三要素:键名repo.packagist(单数无s)、type值composer、URL以/结尾的HTTPS地址,缺一即静默失效,仍连packagist.org。

配对、配全、配准才能真正走镜像——错一个字符,Composer 就当没这回事,继续连 packagist.org。
repo.packagist 键名必须写对,不能多 s 也不能少 s
最常踩的坑是把 repo.packagist 写成 repos.packagist(多一个 s)或 repository.packagist。Composer 2.x 完全忽略这类拼写错误,不报错、不提示、静默 fallback 到默认源。
-
composer config -g repo.packagist输出为空或仍是https://packagist.org,大概率是键名错了 - 全局配置只认
repo.packagist这一个 key,它是硬编码在源码里的,没有别名 - 项目级配置同理:必须确保
composer.json的repositories对象里,key 是"packagist",不是"packagist.org"或其他变体
type 值和 URL 斜杠缺一不可
命令中中间那个 composer 不是可选参数,而是必需的 type 值;URL 末尾的 / 也不是风格问题,而是路径拼接逻辑所依赖的分隔符。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 漏掉
composer:执行composer config -g repo.packagist https://mirrors.aliyun.com/composer/→ Composer 认为这是个无效配置,直接忽略 - URL 少斜杠:
https://mirrors.aliyun.com/composer会导致请求发往https://mirrors.aliyun.com/composer/packages.json(404),正确应为https://mirrors.aliyun.com/composer//packages.json(镜像服务自动处理双斜杠) - 必须用 HTTPS:HTTP 地址会被 Composer 拒绝(
secure-http默认开启),即使加了--no-secure-http也不推荐,有中间人风险
项目级配置比全局更可靠,尤其在 CI 和团队协作中
全局配置受用户权限、Docker 容器生命周期、宝塔等面板用户隔离影响,而项目级配置直接落地到 composer.json,拉代码即生效。
- 进项目根目录后运行:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(不带-g) - 该命令会安全追加
"packagist"条目到repositories,不会覆盖已有私有源或破坏 JSON 格式 - 若项目已存在
"repositories": {},手动编辑易因逗号、引号、换行出错;命令方式零风险 - CI 构建时,无需额外 setup 步骤,
composer install自动读取该配置
换源后仍卡在 Downloading?清缓存 + 删 lock + 重装
镜像只加速元数据下载,但旧缓存里存着 packagist.org 的包哈希和路径信息,Composer 会优先读缓存并尝试从旧地址校验,结果就是卡在 TLS 握手或 DNS 解析,根本没发请求到镜像。
- 先清缓存:
composer clear-cache - 删掉
vendor/和composer.lock - 再跑:
composer install --no-cache(禁用缓存强制走新源) - 验证是否真走镜像:
composer show monolog/monolog -vvv 2>&1 | grep "Downloading",日志里必须出现mirrors.aliyun.com或类似域名
镜像解决的是网络层瓶颈,不是万能加速器——Resolving dependencies 卡住、ZIP 解压慢、扩展编译耗时,这些跟镜像无关,得查内存、Xdebug、PHP 版本匹配度。真正容易被忽略的,是那条命令里三个位置:键名、type 值、URL 斜杠,三者必须同时正确,少一个,就等于没配。

















