composer install卡死主因是镜像未生效、缓存未清或ipv6干扰;应严格配置阿里云镜像(含末尾斜杠)、执行composer clear-cache并启用composer_no_ipv6=1验证。

composer install 卡死,大概率不是网络差,而是没切对镜像源、缓存没清、或根本没生效——换百度云镜像反而会让问题更难排查,因为百度云没有提供 Composer 镜像服务。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
卡在 Loading composer repositories 怎么办
这是最常见卡点,本质是 DNS 解析失败或 TCP 连接超时,直连packagist.org 被阻断所致。
- 运行 composer config -g repo.packagist,输出必须是完整 URL 字符串(如 https://mirrors.aliyun.com/composer/)或标准 JSON 对象;返回 null、空值、或含 packagist.org,说明配置失败
- 项目根目录若存在 composer.json 里的 repositories 字段(哪怕只是 "repositories": []),会直接覆盖全局配置,必须删掉或显式设 "packagist.org": false
- 换源后不执行 composer clear-cache,旧缓存仍会尝试访问 packagist.org,日志里照样出现 TLS timeout 或 404
卡在 Resolving dependencies 是网络问题吗
不是。这一步 PHP 正在暴力回溯版本组合,和镜像、DNS、IPv6 全都无关。 - 检查composer.json 是否写了宽泛约束,比如 "^1.0 || ^2.0" 或引入了 dev-main 的私有包
- 默认内存限制(1.5GB)常不够,尤其含大量 require-dev 包时,临时加大:
php -d memory_limit=-1 composer install
- http.timeout 对这一步完全无效,调它等于白忙
- Composer 2.9.6 的 SAT 求解器虽有优化,但约束爆炸仍会卡住,可尝试缩小 require 范围再逐步放开
卡在 Downloading 后无响应,怎么验证镜像真生效了
别只信config -g 输出,要亲手验证请求是否发到国内地址。
- 运行 composer install -vvv,盯住第一行日志:必须出现 Downloading https://mirrors.aliyun.com/composer/packages.json
- 手动 curl -I https://mirrors.aliyun.com/composer/packages.json,返回 200 OK 才算通;返回 301 或超时,说明镜像地址写错或被网络策略拦截
- 注意腾讯云当前推荐地址是 https://packagist.proxy.tencent.com/,不是 mirrors.cloud.tencent.com 子域(后者已不维护)
- 清华源地址应为 https://mirrors.tuna.tsinghua.edu.cn/composer/,packagist.phpcomposer.com 自 2025 年底起已停服
为什么换了镜像还卡?IPv6 干扰最容易被忽略
composer install 卡在 Downloading,大概率是 IPv6 解析超时后硬等回退 IPv4——每个请求多耗 1–2 秒,叠加后直接卡死。
- 加 -vvv 运行,最后几行如果反复出现 [2a02:fc00::1]、::ffff:185.199.108.153 这类地址,基本锁定
- 临时禁用 IPv6 最稳的方式:设置环境变量 COMPOSER_NO_IPV6=1
Linux/macOS:COMPOSER_NO_IPV6=1 composer install
Windows PowerShell:$env:COMPOSER_NO_IPV6="1"; composer install
- COMPOSER_NO_IPV6=1 只跳过 IPv6 地址解析逻辑,不影响 TLS 校验,也不改系统设置,CI/CD 里也推荐用
- 真正容易被忽略的是:Resolving dependencies 和 Downloading 是两类问题,前者跟 IPv6 无关,后者才是
实际生效的组合,目前最稳的是:阿里云镜像 + COMPOSER_NO_IPV6=1 + composer clear-cache ——三者缺一不可。










