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,

これで問題なく動くはず。

いいなと思ったら応援しよう!