Laravel 9 → 10 へアップグレードをしてみました。
先日、Laravelの最新バージョンであるLaravel 10がリリースされました。
というわけで、早速アップグレードをしてみました!
元々 Laravel 9 を使用していたので、9 → 10 へのアップグレードです。
アップグレード手順
基本的には、公式のガイドに沿ってアップグレードしていきます。
以下のような手順になります。
1. 依存関係の解消
Composer
の依存関係を解消します。
具体的には、下記のように変更します。
composer.json"php": "^8.1.0", // 8.0.2 → 8.1.0 "laravel/sanctum": "^3.2", // 2.14.1 → 3.2 "laravel/framework": "^10.0", // 9.11 → 10.0 "spatie/laravel-ignition": "^2.0", // 1.0 → 2.0
2. PHPUnit 9 → 10
今回はついでにPHPUnitを 10 にあげました。
Furthermore, if you wish to use PHPUnit 10, you should delete the processUncoveredFiles attribute from the <coverage> section of your application's phpunit.xml configuration file.
さらに、PHPUnit 10 を使いたい場合は、アプリケーションの phpunit.xml 設定ファイルの <coverage> セクションから processUncoveredFiles 属性を削除しておく必要があります。
というわけで、coverage
の記述箇所を変更します。
変更前<coverage processUncoveredFiles="true">
変更後<coverage>
composer.json は以下のように変更します。
composer.json"nunomaduro/collision": "^7.0", // 6.1 → 7.0 "phpunit/phpunit": "^10.0", // 9.5.10 → 10.0
3. minimum-stability を stable へ変更
composer.json"minimum-stability": "stable", // dev → stable
4. dates プロパティを変更
dates
プロパティが使えなくなったため、casts
へと移行します。
Model(変更前)protected $dates = [ 'created', 'deployed_at', ];
Model(変更後)protected $casts = [ 'created' => 'datetime', 'deployed_at' => 'datetime', ];
5. composer u
最後に、composer u
コマンドでアップデートを行います。
composer u
6. 確認
では、Laravelのバージョンを確認してみます。
下記のコマンドを実行します。
ターミナルphp artisan -V
アップグレードできました!
おわりに
Laravel 9 → 10 は、比較的簡単に移行できたと感じました。
Laravel 10 にはいくつも新しい機能が追加されているので、これからどんどん試していきます!
以上です。