Laravel安装依赖失败主因是镜像失效、缓存损坏、PHP扩展缺失或函数禁用、超时/内存不足;应切腾讯云镜像、清缓存、启用mbstring/openssl/proc_open等扩展、调高process-timeout和http-basic-timeout。

Laravel安装中途依赖包下载失败,通常不是“网速慢”或“运气差”,而是几个关键环节出了具体问题。核心原因集中在网络通道、缓存状态、PHP底层能力这三类,下面分点说清楚。
镜像源失效或配置错误
packagist.org 官方源已停用,旧镜像(如阿里云 https://mirrors.aliyun.com/composer/)在2026年起频繁返回 404 或 zlib 解码错误。清华源在部分网络下也不稳定。腾讯云镜像是当前最稳的选择:
- 全局切换:运行
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ - 验证是否生效:执行
composer config -g repo.packagist,输出必须是完整 JSON 格式,例如{"type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/"} - 若只返回 URL 字符串或报错,说明配置未成功,需重配
Composer 缓存损坏或残留冲突
卡在 Resolving dependencies through SAT 并非网络问题,而是 Composer 正在暴力回溯版本约束——一旦 require 和 conflict 逻辑不可解,就会无限循环。此时换镜像、重启终端都无效。
- 先定位瓶颈:运行
composer create-project laravel/laravel:^10.0 myapp -vvv --profile,看日志停在哪一步 - 若停在
Reading /packages.json from cache或Downloading https://...→ 检查镜像或 TLS 连接 - 若反复出现
corrupted archive或zlib_decode() error→ 缓存已损坏,必须清理 - 清理后进缓存目录(
composer config --global cache-dir查路径),确认downloads/和files/子目录为空
PHP 扩展缺失或函数被禁用
Laravel 安装器依赖多个 PHP 扩展和底层函数,缺一不可。常见被忽略的有:
-
mbstring、xml、ctype、tokenizer、openssl、pdo—— Debian/Ubuntu 用户建议用sudo apt install php-mbstring php-xml php-ctype php-tokenizer php-openssl php-pdo -
proc_open函数被禁用(尤其在 VeLinux、安全加固版系统中):检查/etc/php.d/*.ini或主php.ini中的disable_functions行,删掉或注释proc_open, proc_get_status - PHP CLI 使用的
php.ini和 Web 服务器(如 Apache/FPM)不同,务必运行php --ini确认加载的是 CLI 对应配置
内存不足或超时设置过短
Composer 解析 Laravel 全量依赖树时内存和时间消耗大,尤其在低配机器或默认参数下容易中断:
- 内存限制:运行
php -d memory_limit=-1 /usr/bin/composer create-project --prefer-dist laravel/laravel myapp - 超时参数:设高一点更稳妥,例如
composer config -g process-timeout 1800和composer config -g http-basic-timeout 300 - 加
--no-dev --prefer-dist --optimize-autoloader可跳过测试依赖、强制走 ZIP 包、减少 autoload 开销,显著缩短安装时间


















