卡在Resolving dependencies是DNS解析问题,非超时配置所致;需用dig验证DNS、更换DNS服务器、检查hosts文件、切换热点测试,并排除企业网屏蔽。

卡在 Resolving dependencies 是 DNS 问题,不是超时设置能救的
这一步 Composer 只做域名解析(比如查 mirrors.aliyun.com 或 packagist.org 的 IP),不发 HTTP 请求、不走代理、不读 http.timeout。你调再大的超时也没用。
常见现象:命令卡住不动,-vvv 输出停在 Resolving dependencies,几秒后直接报 cURL error 7 或 Connection refused。
- 用
dig mirrors.aliyun.com @114.114.114.114验证 DNS 是否通;若无响应或超时,说明本地 DNS 被污染或不可靠 - 临时换 DNS:Linux/macOS 编辑
/etc/resolv.conf加nameserver 8.8.8.8;Windows 在网络适配器里手动设 - 检查
/etc/hosts(或C:\Windows\System32\drivers\etc\hosts)是否误把镜像域名指向了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
- 全局延长单次请求超时:
composer config -g http.timeout 600(单位秒,600 = 10 分钟) - 项目级更稳妥(尤其 CI):在
composer.json的"config"段加"http.timeout": 600 - 镜像 URL 必须带末尾斜杠:
https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(少斜杠会导致拼出非法路径/composerpackages.json) - 换源后必须执行
composer clear-cache,否则旧缓存仍会复用失败地址 - 用
curl -I https://mirrors.aliyun.com/composer/确认镜像源返回 200,且Date头时间合理(避免用到被污染的缓存或过期代理)
卡在 Executing command 是 process-timeout 或子进程问题
比如停在 Executing command (CWD: /path): git clone ... 或 unzip,这不是网络下载慢,而是子进程卡死。
-
process-timeout控制整个命令生命周期(含解压、脚本、autoloader 生成),默认仅 300 秒;推荐设为1200(20 分钟):composer config -g process-timeout 1200 - CI 环境建议用环境变量:
COMPOSER_PROCESS_TIMEOUT=1200,它比--timeout更可靠,能覆盖插件和自定义 installer 启动的子进程 - 私有 Git 包卡住?优先改用 HTTPS 克隆(
https://github.com/user/repo.git),并确保GIT_SSH_COMMAND或https_proxy配置正确 - 禁用并行下载可降低连接压力:
composer config -g use-include-path false,部分版本配合COMPOSER_PROCESS_TIMEOUT=0更有效
卡在 Generating autoload files 后无响应,跟网络无关
这一步不发任何网络请求,是 PHP 在递归扫描 vendor/ 下大量文件(尤其含 symlink 或嵌套过深的包),常见于 WSL2、Docker for Mac 或 NTFS 挂载卷。
- 检查 PHP 配置:
max_execution_time和memory_limit是否足够(建议设为-1和512M以上) - WSL2 用户注意:
symlink解析极慢,可尝试composer install --no-scripts --no-plugins跳过钩子,再单独运行composer dump-autoload - APCu 未启用 CLI 模式也会拖慢 autoloader 生成,确认
apc.enable_cli=1已在php.ini中设置 - 如果项目含大量私有包或硬编码仓库,
vendor/下可能混入非 Composer 管理的 symlink,手动清理或改用--prefer-dist减少文件数量

















