
本文澄清 Laravel 安装过程中常见的版本混淆问题:composer create-project laravel/laravel 默认安装的是最新稳定版(Laravel 9+),但 laravel/installer 工具本身版本(如 5.4.36)≠ 项目框架版本,需通过 php artisan --version 准确查看。
本文澄清 laravel 安装过程中常见的版本混淆问题:`composer create-project laravel/laravel` 默认安装的是最新稳定版(laravel 9+),但 `laravel/installer` 工具本身版本(如 5.4.36)≠ 项目框架版本,需通过 `php artisan --version` 准确查看。
当你首次执行 composer create-project laravel/laravel example-app 时,Composer 会从 Packagist 拉取 laravel/laravel 官方骨架包——该包在 Laravel 9 发布后已默认指向 v9.x 分支(前提是你的 Composer 未锁定旧版本或缓存过期)。你看到的 5.4.36 实际是 Laravel Installer 全局工具的版本号(即 laravel/installer 包的版本),它仅用于快速初始化项目,并不决定你新建项目的 Laravel 框架版本。
✅ 正确验证方式如下:
cd example-app php artisan --version
输出应为类似 Laravel Framework 9.52.16(具体小版本取决于当前最新发布版)。若显示仍为 5.4.x,说明项目并非通过标准骨架安装,而是误用了旧版 installer 或存在本地缓存干扰。
? 排查与解决方案:
-
清除 Composer 缓存(推荐优先执行):
composer clear-cache
-
强制指定 Laravel 9 版本安装(确保无歧义):
composer create-project laravel/laravel example-app "9.*"
-
检查全局
laravel/installer是否过旧(非必需,但可选更新):composer global update laravel/installer
⚠️ 注意:
laravel/installer仅影响laravel new命令,而composer create-project不依赖它——因此无需降级或卸载该工具。
? 关键总结:
Laravel 的框架版本由 composer.json 中 "laravel/framework" 的约束决定(例如 "^9.0"),而非命令行工具版本。只要 PHP 8.0+、Composer 2.2+ 和网络正常,create-project 即可开箱获得 Laravel 9。切勿通过 php artisan migrate 或手动修改 composer.json 升级旧项目来“修复”此问题——你很可能根本没安装旧项目。











