如何无需重新下载项目将Laravel 9.52.8升级至Laravel 10
Laravel 9.x 升级到 10.x 步骤(无需重新创建项目)
1. 确认PHP版本要求
Laravel 10 要求 PHP 8.1 及以上版本,先检查本地PHP版本:
php -v
如果版本低于8.1,需先完成PHP升级。
2. 更新composer.json依赖配置
将你的composer.json修改为以下兼容Laravel 10的版本:
{ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "require": { "php": "^8.1", "bensampo/laravel-enum": "^6.3", "fruitcake/laravel-cors": "^2.0.5", "guzzlehttp/guzzle": "^7.2", "laravel/framework": "^10.0", "laravel/sanctum": "^3.0", "laravel/tinker": "^2.8", "laravel/ui": "^4.3", "maatwebsite/excel": "^3.1.40", "phpoffice/phpspreadsheet": "^1.28", "spatie/laravel-medialibrary": "^11.0", "spatie/laravel-query-builder": "^6.0" }, "require-dev": { "fakerphp/faker": "^1.9.1", "laravel/sail": "^1.0.1", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^7.0", "phpunit/phpunit": "^10.0", "spatie/laravel-ignition": "^2.0" } }
关键调整说明:
- 核心框架
laravel/framework升级到^10.0 - 适配Laravel 10调整第三方依赖版本:
laravel/sanctum、laravel/ui同步升级到兼容分支spatie/laravel-medialibrary、spatie/laravel-query-builder切换到支持Laravel 10的大版本- 开发依赖中
phpunit/phpunit、collision、ignition升级到对应兼容版本
3. 执行Composer更新
先清除Composer缓存避免版本冲突:
composer clear-cache
然后执行更新命令:
composer update
若遇到依赖冲突,可添加参数强制更新所有关联依赖:
composer update --with-all-dependencies
4. 升级后收尾操作
- 发布Laravel 10官方前端资源(若使用官方UI组件):
php artisan vendor:publish --tag=laravel-assets --ansi
- 检查配置文件差异,手动合并必要的更新项:
php artisan config:diff
- 运行数据库迁移(Laravel 10新增了部分迁移文件):
php artisan migrate
- 全面测试应用功能,修复第三方包API变更、Laravel废弃方法调用等兼容性问题
内容的提问来源于stack exchange,提问作者nour hambarosh
相关产品推荐
相关产品推荐

