卡在Resolving dependencies是DNS解析问题,需用dig验证并更换DNS或修改hosts;卡在Downloading才调http.timeout和镜像源;卡在Executing command则需调整process-timeout。

超时不是配置写错了,是网络链路或参数粒度没对上——必须先定位卡在哪一层,再动对应参数。
卡在 Resolving dependencies 是 DNS 问题,不是 timeout 能解决的
这一步 Composer 只做域名解析(比如查 mirrors.aliyun.com 的 IP),不发 HTTP 请求、不读代理、不认 http.timeout。
- 运行
dig mirrors.aliyun.com @114.114.114.114,看是否返回有效 IPv4 地址;若超时或无响应,说明本地 DNS 被污染或不可用 - 临时换 DNS:Linux/macOS 编辑
/etc/resolv.conf加nameserver 8.8.8.8;Windows 在网络适配器里手动设置 - 检查
/etc/hosts(或C:\Windows\System32\drivers\etc\hosts)是否误把mirrors.aliyun.com指向了127.0.0.1或错误 IP - 用手机热点试一次——很多企业网会屏蔽
packagist.org和 GitHub 域名,但热点通常直连通畅
卡在 Downloading 才该调 http.timeout 和镜像源
只有到这一步,Composer 才真正发起 HTTP 请求,此时 http.timeout 和 http.proxy 才起作用。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 全局延长单次 HTTP 超时:
composer config -g http.timeout 600(单位秒,600 = 10 分钟) - 项目级更稳妥(尤其 CI):在
composer.json的"config"段加"http.timeout": 600 - 必须用国内镜像源,推荐阿里云:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(注意末尾斜杠不能少) - 验证是否生效:
composer config -g repo.packagist输出必须是完整 JSON,如{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 换源后必须执行
composer clear-cache,否则旧缓存仍会复用失败地址
卡在 Executing command 或 install/update 整体超时,得调 process-timeout
这步涉及 git clone、unzip、post-install-cmd 等子进程,由 process-timeout 控制,默认仅 300 秒,和 HTTP 请求无关。
- 临时绕过(开发/CI):
composer install --process-timeout=0(禁用)或--process-timeout=1200(20 分钟) - 永久生效(全局):
composer config -g process-timeout 1200 - 若已设为 0 仍失败,大概率是内存不足——检查 PHP
memory_limit是否 ≥ 1.5G,尤其update解析锁文件阶段 - 禁用 packagist.org 回源可防 fallback 拖慢:
composer config -g repo.packagist false
CI 环境中容易被忽略的硬伤
CI 容器重启后配置丢失、SSH 地址未转 HTTPS、WSL2 元数据开销、硬编码仓库优先级高于镜像——这些不会报错,但会让 timeout 设置完全失效。
- 必须用环境变量
COMPOSER_PROCESS_TIMEOUT=1200,它比命令行--timeout更可靠,能覆盖插件启动的子进程 - 私有包别写
git@github.com:user/repo.git,改用https://github.com/user/repo.git,避免 SSH 连接超时 - WSL2 下若卡在
Generating autoload files,不是网络问题,是 symlink 递归扫描慢,需关掉元数据支持或换 ext4 卷 - 检查
composer.json里是否有硬编码的repositories,它们会覆盖全局镜像配置

















