首先调整Composer超时设置,将process-timeout和http.timeout设为600秒;其次更换为阿里云等国内镜像源提升下载速度;然后优化Git协议使用HTTPS并启用HTTP/1.1长连接;最后开启重试机制并检查代理配置。结合-vvv参数排查具体超时请求,可有效解决网络不稳定导致的安装失败问题。

Composer 在安装或更新依赖时,如果网络不稳定或连接远程仓库超时,会导致命令执行失败。这类问题在访问 packagist.org 或使用 GitHub API 时尤为常见,尤其在网络受限环境下。要解决 Composer 网络超时问题,可以从配置超时时间、更换镜像源、优化网络环境等几个方面入手。
调整 Composer 超时设置
Composer 默认的 HTTP 超时时间为 300 秒(5 分钟),对于大包或慢速网络可能不够。可以通过修改配置延长超时时间:
- 全局设置超时时间:运行以下命令将超时时间改为 600 秒(10 分钟)或更长 composer config --global process-timeout 600 composer config --global http.timeout 600
- 针对单次命令临时延长:直接在命令中设置环境变量 COMPOSER_PROCESS_TIMEOUT=600 composer install
使用国内镜像加速下载
由于默认源位于境外,访问速度慢容易导致超时。可切换为国内镜像源提升稳定性:
- 更换为阿里云镜像: composer config --global repo.packagist composer https://mirrors.aliyun.com/composer/
- 临时使用镜像(仅当前项目): composer config repo.packagist composer https://mirrors.aliyun.com/composer/
- 其他可用镜像包括 Laravel China、腾讯云、华为云等提供的 Composer 镜像服务。
优化 Git 和 HTTPS 访问方式
某些依赖通过 Git 克隆,若使用 HTTPS 可能因证书或连接问题超时:
- 强制使用 HTTPS 协议:避免 SSH 因网络策略被阻断 composer config --global gitlab-protocol https
- 启用 HTTP 长连接:减少重复握手开销 composer config --global http.version '1.1'
- 检查是否启用了代理,必要时清除或正确配置系统代理
启用并调大重试机制
网络波动时常出现临时失败,开启自动重试可提高成功率:
- 设置失败重试次数: composer config --global http.retry-auth-failed true
- 结合脚本或 CI 流程时,可在 shell 中封装重试逻辑,例如使用
|| sleep 5 && composer install尝试重新执行。
基本上就这些方法。合理设置超时、换用稳定镜像、优化传输协议,大多数网络超时问题都能缓解。遇到具体错误时,查看详细输出(加上 -vvv 参数)有助于定位是哪个请求超时,再针对性处理。










