Laravel 10安装内存不足本质是Composer解析超150MB依赖时超出PHP默认内存限制,需临时设COMPOSER_MEMORY_LIMIT=-1或永久调高php.ini中memory_limit至512M,并注意zlib_decode错误需先清缓存。

Laravel 10 安装失败提示“内存不足”,本质是 Composer 在解析和下载大量依赖时耗尽了 PHP 的内存限制,不是 Laravel 本身的问题,而是安装过程中的资源瓶颈。
核心原因:vendor 目录太大,依赖树太深
Laravel 10 的完整依赖包(含 Illuminate 组件、第三方库、测试工具等)解压后超 150MB,Composer 需在内存中构建完整的依赖图谱、校验版本约束、解压 ZIP、写入 autoload 文件。PHP 默认内存限制(通常 128M 或 256M)根本不够用,尤其在低配机器或 Docker 环境中,很容易触发:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
常见触发场景
- 直接运行
composer create-project laravel/laravel myapp(未加任何参数) - 使用旧版 Composer(v2.0 以下)或未更新的全局配置
- 在 WSL、Docker 或共享主机中运行,系统实际可用内存偏低
- 同时开启多个终端、IDE、浏览器标签页,进一步挤压内存
快速解决办法
-
临时取消内存限制:
COMPOSER_MEMORY_LIMIT=-1 composer create-project laravel/laravel:^10.0 myapp
(
-1表示不限制,最直接有效) 若仍失败,可分步执行:
先拉骨架:composer create-project laravel/laravel:^10.0 myapp --no-install
再进目录装依赖:cd myapp && COMPOSER_MEMORY_LIMIT=-1 composer install --prefer-dist-
永久调高 PHP CLI 内存(推荐一劳永逸):
编辑php.ini(用php --ini查路径),找到并修改:memory_limit = 512M
然后重启终端或服务(CLI 不需重启 Web 服务器)
顺带提醒
内存报错常和网络问题混淆。如果同时出现 zlib_decode(): data error 或 Connection timed out,说明压缩包损坏或下载中断——这时要先清缓存:
rm -rf ~/.composer/cache # macOS/Linux # 或 Windows: del /s /q %COMPOSER_HOME%\cache
再重试,别只调内存。
不复杂但容易忽略


















