Composer install卡在Downloading的根源是默认配置未适配国内网络,需同步执行三步:切换阿里云镜像源(https://mirrors.aliyun.com/composer)、全局设http.timeout和process-timeout为600、强制IPv4(COMPOSER_IPV4=1)。

composer install卡在Downloading怎么办
这不是你网络差,是默认配置根本没为国内链路设计。cURL error 28: Operation timed out after 300000 milliseconds 这类报错,99% 是 http.timeout 和 process-timeout 没调够,且镜像源没换。
- 先执行
composer config -g repos.packagist确认是否已切到阿里云镜像 —— 必须是https://mirrors.aliyun.com/composer(末尾不能带斜杠) - 再运行
composer config -g http.timeout和composer config -g process-timeout,两个值都应为600;若显示空或300,立刻补上:composer config -g http.timeout 600和composer config -g process-timeout 600 - 临时验证可加环境变量跑一次:
COMPOSER_HTTP_TIMEOUT=600 COMPOSER_PROCESS_TIMEOUT=600 composer install -vvv,看卡点是否前移
IPv6 fallback 导致的隐性超时
Linux/macOS 下 composer install 明明有网却卡几秒才动一下,大概率是 IPv6 尝试失败后 fallback 到 IPv4 的延迟叠加。Composer 底层 cURL 默认走 AAAA 记录,而国内多数 CDN 和镜像站对 IPv6 支持不完整。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 强制走 IPv4:命令前加
COMPOSER_IPV4=1,例如COMPOSER_IPV4=1 composer install - 永久生效(Linux/macOS):
echo 'export COMPOSER_IPV4=1' >> ~/.bashrc && source ~/.bashrc - Windows 用户:系统环境变量中新增
COMPOSER_IPV4 = 1(值为字符串1,不是布尔) -
composer config命令无法禁用 IPv6,所有试图用它关 IPv6 的操作都无效
为什么改了 http-basic 还是超时
http-basic 只管认证凭据,和超时完全无关。很多人把 http.timeout 误配成 http-basic,结果改了等于没改。
- 错误写法:
composer config -g http-basic https://mirrors.aliyun.com user pass→ 完全不影响超时 - 正确写法:
composer config -g http.timeout 600(全局)或composer config http.timeout 600(当前项目) - 该配置最终映射为 cURL 的
CURLOPT_TIMEOUT,不是CURLOPT_CONNECTTIMEOUT;如需单独控连接阶段(比如代理握手慢),得配系统级~/.curlrc中的connect-timeout = 30 - 某些共享主机会静默忽略
http.timeout配置,此时只能用环境变量方式:COMPOSER_HTTP_TIMEOUT=600 composer install
CI/CD 中超时问题更隐蔽
CI 环境里 DNS 解析慢、代理抖动、容器网络策略收紧,会让单次请求耗时波动极大。只靠延长超时不够,必须组合动作。
- 必须复用 Composer 缓存目录(如
~/.composer/cache),否则每次都是冷启动 - 加
--no-interaction --no-progress --optimize-autoloader减少 I/O 和输出开销 - 禁用 Xdebug:
php -d zend_extension=none /usr/bin/composer install(Xdebug 会让 Composer 慢数倍) - 如果用了私有仓库,确认其
packages.json支持providers-url字段,否则 Composer 会逐个包查元数据,超时风险极高

















