Laravel

Laravelのバージョンを6から8に上げてみた

どうも、シローです。

久しぶりの投稿です。

最近新しく始めた個人開発でLaravelのバージョンを6から8に上げたので、その内容についてまとめようと思います。

やり方

phpのバージョンを7.3以上にする

Laravel8.xではphpのバージョンが7.3以上でないと動かないので、それ以下のバージョンではアップデートする必要があります

僕の開発環境ではDockerで構築しているので、その手順の紹介となります。

以下の変更点を加えました。

package.jsonに記載されたモジュールのバージョンを上げる

バージョン8で使う外部モジュールのバージョンを指定したもの以上でないとダメみたいなのでそれも更新します。

公式に従って以下の通りにしました。

モジュール バージョン

uzzlehttp/guzzle

^7.0.1

facade/ignition

^2.3.6

laravel/framework

 ^8.0

laravel/ui

^3.0

nunomaduro/collision

 ^5.0

phpunit/phpunit

^9.0

既存コードの改修

既存コードの書き方もバージョン8からは変更しないといけない箇所が出てきますので、公式を見て当てはまる箇所を直していきます。

僕の場合はSeederのフォルダ名とnamespaceの指定を行いました。

  • database/seeds => database/seedersに変更
  • 各Seederクラスのnamespaceにnamespace Database\Seeders;を設定
  • composer.jsonのautoloadの部分を変更

composer.jsonの変更箇所は以下の通りです。

composer updateを実行

設定が終わったらcomposer updateを実行しました。

つまづいたポイント

今回見た公式はこちらです。https://laravel.com/docs/8.x/upgrade

小さい字で「7 から 8への移行」と書いているのを見落としてました。

なので、本来ならバージョン6から7に移行した後に動作確認をして、7から8にバージョンアップを踏むのが正しい手順なのだと思います。

それもあってか、前述のcomposer updateを実行すると以下のエラーが出てスムーズにいかなかったのです。

僕の環境では、以下の変更をして再度composer updateを実行すると解決できました。stackoverflowには感謝です。

参考になった記事

-Laravel

© 2024 Shiro's secret base