Laravel8→10に更新する方法
いきなりLaravel10に更新するのではなく、
Laravel8→Laravel9、Laravel9→Laravel10
のように段階を踏んで更新しました。
その方が、もしもエラーが起きた時に原因を分析しやすいため。
更新手順
Laravel10の利用にはPHP8.1以上が必要なので、
事前にPHPバージョンアップしておいてねん。
1、Laravel8→Laravel9に更新
Googleで「Laravel8 9」って調べれば公式ドキュメントが出てくる
あとは公式ドキュメント通りにcomposer.jsonを修正
"laravel/framework": "^8.75",
↓
"laravel/framework": "^9.0",
"facade/ignition": "^2.5",
↓
"spatie/laravel-ignition": "^1.0",
"nunomaduro/collision": "^5.10",
↓
"nunomaduro/collision": "^6.1",
編集したら、以下のコマンドでLaravel9に更新できるはず
$ composer update
Laravel8→Laravel9の更新は、上記の手順で問題なくできた。
が、次のLaravel9→Laravel10は、エラー起きまくって大変だった。。
2、Laravel9→Laravel10に更新
さっきのlaravel8→9と同じように、composer.jsonを修正する。
基本的には、バージョン(数字)部分を変えるだけ。
ちょっと順番とか、名前も若干変えてるかも。
わかりづらくてごめん🙏
"require": {
"php": "^7.3|^8.0",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^7.0.1",
"intervention/image": "^2.7",
"laravel/framework": "^9.0",
"laravel/sanctum": "^2.11",
"laravel/tinker": "^2.5",
"laravel/ui": "^3.4"
},
↓↓↓↓
"require": {
"php": "^8.1",
"guzzlehttp/guzzle": "^7.2",
"laravel/framework": "^10.10",
"laravel/sanctum": "^3.2",
"laravel/tinker": "^2.8",
"intervention/image": "^2.7",
"laravel/ui": "^4.2"
},
"require-dev": {
"spatie/laravel-ignition": "^1.0",
"fakerphp/faker": "^1.9.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.5.10"
},
↓↓↓↓
"require-dev": {
"fakerphp/faker": "^1.9.1",
"laravel/pint": "^1.0",
"laravel/sail": "^1.18",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^7.0",
"phpunit/phpunit": "^10.1",
"spatie/laravel-ignition": "^2.0"
},
編集したら、以下のコマンドでLaravel10に更新できる
$ composer update
が、Chromeなどで動作チェックすると、
「\Fruitcake\Cors\HandleCors::class,」が存在しないエラーが発生する。
「app/Http/Kernel.php」を以下のように修正
\Fruitcake\Cors\HandleCors::class,
↓
\Illuminate\Http\Middleware\HandleCors::class,
これで問題なく動くはず。