必须用composer create-project安装任意大版本,laravel new仅支持9.x及以上且不兼容EOL版本;7.x用^7.0、8.x用8.6.*、11.x需PHP8.2+并可加--ignore-platform-reqs。

要在同一台开发机上精准安装 Laravel 7.x、8.x、11.x 等不同大版本,必须区分全局安装器与项目级依赖管理的适用边界——laravel new 默认拉取最新稳定版,无法指定历史大版本;而 composer create-project 才是真正可控的入口,且各版本对约束语法、PHP 兼容性、命令参数的校验逻辑存在实质性差异。
用 laravel new 安装指定大版本(仅限 9.x 及以上)
从 Laravel 9 开始,官方安装器支持 --version 参数,但仅限于当前活跃维护的大版本分支:
执行 laravel new myapp --version=11.x → 自动解析为最新 11.x 补丁版(如 11.32.0),并跳过本地已缓存的旧模板。
若输入 laravel new oldproj --version=8.x,命令会直接报错退出,并提示 【Unsupported major version: 8.x】 —— 因为安装器已移除对 EOL 版本的支持,不会回退兼容。
注意:此方式要求 laravel/installer 已升级至 v4.5.0+,旧版(如 v3.x)根本不识别 --version 参数,会静默忽略并安装最新版。
用 Composer create-project 安装任意大版本
这是唯一能覆盖 Laravel 5.8 至 11.x 全系列的通用方法,关键在版本约束写法和 PHP 环境匹配:
安装 Laravel 7.x 最新补丁版:composer create-project laravel/laravel:^7.0 myapp7
安装 Laravel 8.6.x 系列(锁定小版本):composer create-project laravel/laravel:8.6.* myapp86 —— 这会拒绝安装 8.7.0,避免因小版本升级引入不兼容变更。
安装 Laravel 11.x 并强制 PHP 8.2+ 校验:composer create-project laravel/laravel:^11.0 myapp11 --ignore-platform-reqs → 若本地 PHP 是 8.1,不加 --ignore-platform-reqs 会直接中断,因为 Laravel 11 的 composer.json 明确声明 【"php": "^8.2"】 为硬性依赖。
多版本共存时的依赖冲突规避
方法一:使用 Composer 的 --no-interaction + --remove-vcs 组合
执行 composer create-project laravel/laravel:^8.0 app8 --no-interaction --remove-vcs → 跳过 Git 初始化和交互式配置,防止因 ~/.composer/auth.json 权限问题卡在 GitHub Token 提示环节。
方法二:临时切换 Composer 存储库镜像源
国内用户遇到 7.x/8.x 安装超时,可先运行 composer config -g repo.packagist composer https://packagist.phpcomposer.com(Laravel 8.77 前仍兼容该镜像),再执行 create-project。Laravel 11 起已强制要求 packagist.org 官方源,此法无效。
方法三:手动清理 vendor 缓存避免版本污染
若之前安装过 Laravel 9 项目,再装 7.x 时出现 “illuminate/support 9.x 与 7.x 冲突” 错误,需先执行 composer clear-cache → 否则 Composer 可能复用错误的压缩包哈希。
验证安装结果是否符合预期
第一步:进入项目目录,检查 composer.json 中的 "laravel/framework" 行值是否与目标一致,例如 "^7.0" 或 "11.32.0"。
第二步:运行 php artisan --version,输出应为对应大版本号(如 Laravel Framework 7.30.6),而非 Laravel Framework 11.x.x。
第三步:执行 php artisan list | grep "model:show" → 若返回空行,说明不是 Laravel 11,因为该命令仅存在于 11.x 及以上版本;若返回命令描述,则确认已成功安装目标大版本。


















