1
/
5

Laravelの9から10へのバージョンアップを経験したので、やったことをまとめてみる【株式会社ライトコード】

概要

Laravelのバージョンアップを苦労しながらやりとげたので、調査・検証方法を備忘録がてらまとめてみます。

背景

Laravel9から10へのバージョンアップは、想像以上に苦労しました。
振り返ってみると調査が足りなかったり、バージョンアップに伴って何をするべきなのか全容が見えていないように感じました。

そこで、今後はサクサクバージョンアップできるよう、調査・検証で何をするのが良さそうか方針を整理しておきます。

ゴール

Laravelのバージョンを上げるとき、何を調べ、どうやって検証していくのかイメージできるようになることを目指します。

バージョンアップに向けてやること

まずは全体像を掴むために、やることを書き出しておきます。
調査・検証の目的を一言にまとめると、バージョンアップ後もLaravelアプリケーションが問題なく動くようにするためです。

これを実現するには、バージョンアップで何が変わるか明確にしなければなりません。
変わるものはLaravelのバージョンだけでなく、非推奨となった機能・パッケージも含まれています。何が変わるのか調査段階で一通り洗い出しておきます。

そして、変更された点をLaravelアプリケーションへ反映させ、今まで通り動く状態をつくりだしていくのが検証作業です。

それぞれで具体的に何をすれば良いのか、本記事で理解を深めていこうと思います。

調査

調査では、Laravelのバージョンが上がると何が変わるのか明らかにすることを目指します。
変更内容が見えてくれば、どれだけの時間が掛かるのか見積もれるはずです。

最初の一歩-Upgrade Guideを読む

Laravel公式によって書かれたアップグレードガイドを読むことから始めます。
各節を見ながら、アプリケーションが関係しそうな箇所にアタリをつけておきます。

Composerや依存パッケージのバージョンから始まり、Laravel自体の機能も広く書かれているので、
アップグレードガイドに従っていけば、バージョンアップでやるべきことも見えてきそうです。

と言いたいところですが、アップグレードガイドだけでは変更点を網羅できませんでした。
もう少し調査範囲を広げなければなりません。

非推奨となった機能を知る

アップグレードガイドに書いていて欲しいところですが、Laravelにはバージョンが上がると非推奨になってしまう機能があります。

非推奨の機能はコード自体から削除されるため、そのまま放っておくと実行時エラーを招くおそれがあります。
よって、漏れなく取り除いておきたいところです。
何が非推奨なのかは、Laravel本体のプルリクエストを見るのが確実です。

ですが、ざっくり対象を知っておきたい場合は、Laravel Newsというサイトに情報がまとまっているので、おすすめです。
参考
削除されたコードが含まれるプルリクエストへのリンクをまとめてくれているので、今回の調査でも参考になりました。

依存パッケージまで面倒を見る

ここまでの調査では、Laravel本体および、Laravel標準パッケージまでを見てきました。
続いて、Laravel標準以外のパッケージにも目を向けます。

とくに、新しいバージョンのLaravelでサポートされなくなったパッケージに注意しておきます。
例えば、Laravel10へ上げたときには、laravel-corsというパッケージがサポートされていないことが発覚しました。

サポートされていないパッケージは代替のパッケージを導入するか、Laravelの機能で補うことになります。
具体的な方針は、各パッケージのREADMEなどに書かれているので、目を通しておきます。

とりあえずバージョンアップ

とはいえ、導入しているパッケージすべてを一つ一つ点検するのは骨が折れます。
そこで、細かいことは後にしてとりあえずLaravelのバージョンを上げてみます。

依存パッケージの点検

LaravelはComposerパッケージとして管理されているため、Composer関連のコマンドからバージョンを上げることにします。
いきなりLaravelのバージョンを上げたいところですが、サポートされなくなったパッケージが含まれていると互換性が無い旨のエラーが表示されてしまいます。

ですので、まずはcomposer installコマンドで現行のパッケージを点検します。

$ composer install
# 中略...
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package laravelcollective/html is abandoned, you should avoid using it. Use spatie/laravel-html instead.
 

コンソールの出力の末尾にサポートが終了したパッケージ情報が書かれています。
該当のパッケージはひとまずcomposer.jsonから取り除いておきます。

こうすることで、変な競合を気にせずLaravelを更新できるようになります。

バージョンアップ

今度こそLaravelのバージョンを上げます。
Composerで依存パッケージのバージョンを変更したい場合は、composer updateコマンドを実行します。
まずはLaravel本体であるlaravel/frameworkのバージョンだけを上げておきます。

参考

$ composer update "laravel/framework"

上手くいけば、依存パッケージと共存しながらLaravelのバージョンが上がってくれるはずです。

記事の続きは下のリンクをクリック!

https://rightcode.co.jp/blog/information-technology/laravel-9-10-syain

【2025年卒】新卒採用エントリー開始しました!

特設ページはこちら:https://rightcode.co.jp/recruit/career-fair-2025

社長と一杯飲みながらお話しませんか?(転職者向け)

特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk

もっとワクワクしたいあなたへ

現在、ライトコードでは「WEBエンジニア」「スマホアプリエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「エンジニアリングマネージャー」「営業」などを積極採用中です!

有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。

  • もっと大きなことに挑戦したい!
  • エンジニアとしてもっと成長したい!
  • モダンな技術に触れたい!

現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?

ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。

  • ライトコードの魅力を知っていただきたい!
  • 社風や文化なども知っていただきたい!
  • 技術に対して熱意のある方に入社していただきたい!

一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。

【コーポレートサイト】https://rightcode.co.jp/

【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)

【wantedlyぺージ】https://www.wantedly.com/companies/rightcode

株式会社ライトコードでは一緒に働く仲間を募集しています
今週のランキング
株式会社ライトコードからお誘い
この話題に共感したら、メンバーと話してみませんか?