卡在Resolving dependencies不动是依赖解析阶段问题,与超时无关;应先验证DNS、镜像源连通性及配置生效,而非调整timeout参数。

卡在 Resolving dependencies 就不动?这不是超时,是根本没发请求
看到 Resolving dependencies 停住超过 10 秒,别急着改 http.timeout——这一步 Composer 还没碰网络,只在查域名、读缓存、构建依赖图。调任何 timeout 都无效。
先手动验证基础连通性:
- 运行
dig mirrors.aliyun.com @114.114.114.114,看是否能快速返回 IP;若超时或无响应,说明 DNS 层已断 - 执行
curl -I https://mirrors.aliyun.com/composer/packages.json,必须返回HTTP/2 200;404、超时或 TLS 握手失败,代表镜像源不可达 - 检查镜像是否真生效:
composer config -g repos.packagist.org.url输出必须是https://mirrors.aliyun.com/composer/(末尾斜杠不能少) - Windows 用户重点查
C:\Windows\System32\drivers\etc\hosts是否硬写了packagist.org的错误 IP;Linux/macOS 查/etc/hosts
卡在 Downloading https://… 并报 cURL error 28?该调 http.timeout
这一阶段才真正走 HTTP 请求,cURL error 28、Could not fetch 或静默卡住几秒后中断,99% 是单次请求等不及响应。此时 process-timeout 完全不参与。
关键参数只有两个,且必须一起设:
-
http.timeout:控制从 DNS 开始到收到响应头的总时间,默认仅 60 秒,国内环境建议设为600 -
http.connect-timeout:单独控制 TCP 连接建立时限,建议设为60,防 TLS 握手慢拖垮全局 - 全局生效:
composer config -g http.timeout 600和composer config -g http.connect-timeout 60 - 项目级更稳妥(尤其 CI):在
composer.json的config段加"http": { "timeout": 600, "connect-timeout": 60 } - 临时调试优先用环境变量:
COMPOSER_HTTP_TIMEOUT=600 composer install,避免污染配置
卡在 Executing command 并报 The process timed out?process-timeout 才管用
错误里带 [RuntimeException] The process timed out,且 -vvv 最后一行明确停在 git clone、unzip 或某条 post-install-cmd 上——这是子进程执行超时,和网络下载无关。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
新版 Composer 已废弃 composer config -g process-timeout,唯一可靠方式是环境变量:
- Linux/macOS:
export COMPOSER_PROCESS_TIMEOUT=1200(单位秒,20 分钟足够) - Windows cmd:
set COMPOSER_PROCESS_TIMEOUT=1200;PowerShell:$env:COMPOSER_PROCESS_TIMEOUT=1200 - CI 中务必设环境变量,比
--timeout=1200更能覆盖插件启动的子进程 - 注意:
--timeout只控命令总周期,不影响 HTTP 下载阶段;http.timeout也不影响解压或脚本执行
为什么换镜像源比调 timeout 更治本?
超时只是表象,根源是默认链路直连 packagist.org 时,DNS、SNI、CDN 节点、TLS 加速都不可控。阿里云、腾讯云镜像做了 HTTP/2 多路复用、边缘缓存和协议优化,实测下载速度提升 3~5 倍,且极少触发超时。
操作必须严格:
- 全局切换:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(注意中间composer类型参数不能漏,URL 末尾斜杠不能少) - 立刻清缓存:
composer clear-cache,否则旧元数据仍指向海外 - 验证是否生效:
composer config -g repos.packagist输出必须是完整 JSON 对象,含"url": "https://mirrors.aliyun.com/composer/" - CI 中必须配
--prefer-dist,避免git clone触发 GitHub API 限流
换完镜像还卡?说明问题不在下载层——回头再盯 -vvv 最后一行,它永远只说真话。

















