COMPOSER_PROCESS_TIMEOUT是控制Composer执行外部命令时最大等待秒数的环境变量,默认Windows为60秒,其他系统为300秒;可通过临时设置、全局配置或脚本封装调整该值,建议在网络慢、克隆大型仓库或CI/CD中资源受限时调大超时时间以避免安装失败。

Composer 在执行命令时,如果遇到网络较慢或依赖包较多的情况,可能会因为默认的超时时间导致进程中断。这时可以通过设置 COMPOSER_PROCESS_TIMEOUT 环境变量来延长超时时间。
什么是 COMPOSER_PROCESS_TIMEOUT?
该环境变量用于控制 Composer 执行外部命令(如 git clone、install 等)时等待响应的最大秒数。默认值在 Windows 上是 60 秒,在其他系统上是 300 秒。
如何设置超时时间
你可以通过以下几种方式修改这个值:
- 临时设置(推荐测试用):在运行 composer 命令前设置环境变量
Linux / macOS:
COMPOSER_PROCESS_TIMEOUT=600 composer install
Windows(命令行):
set COMPOSER_PROCESS_TIMEOUT=600 && composer install
Windows(PowerShell):
$env:COMPOSER_PROCESS_TIMEOUT=600; composer install
- 全局永久设置:将环境变量写入系统或用户环境变量中
例如在 Linux/macOS 的 ~/.bashrc 或 ~/.zshrc 中添加:
export COMPOSER_PROCESS_TIMEOUT=600
保存后执行 source ~/.bashrc 生效。
- 项目级配置(不推荐):虽然不能直接在 composer.json 中设置,但可通过脚本封装命令自动加载超时变量。
常见使用场景
以下情况建议调大超时时间:
- 网络较慢,拉取大型仓库(如 Laravel、Symfony)时超时
- 使用 Git 协议克隆私有包速度慢
- CI/CD 环境中因资源限制导致处理缓慢
注意:如果经常超时,也应检查网络连接或考虑使用镜像源,比如中国用户可使用阿里云或 Laravel China 的 Composer 镜像。
基本上就这些,合理设置 COMPOSER_PROCESS_TIMEOUT 能有效避免因等待时间不足导致的安装失败。










