3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】5.5→7.2へアップデートをした話

Posted at

はじめに

PHPのフレームワークを勉強しようと、Laravelを触っていたときの話。

どうやらバージョン毎に使えるコード・使えないコードがあるらしい...

そんなわけで初めてのLaravelバージョンアップ!
必要なファイルがインストールされていなかったり、エラーが発生したり...
それでも数十分で解決できて、とても簡単でした。

とりあえずやってみる

バージョンアップには、どうやらcomposer.jsonを編集する必要があるらしい。
しかし...それらしきファイルがない!

Composerのインストール

Composerをインストールしてみたを参考にインストールしました。

composer.jsonを編集

調べてみると、バージョンアップは、composer.jsonでバージョンを引き上げて composer update するだけみたい。
Laravelを5.8→6.0にアップデートしただけの話を参考にやってみます。

エラー その1

5.x→7.xへの大幅アップデートのため、ひたすらエラーが流れていきます。

Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laravel/framework v7.24.0
    - Conclusion: don't install laravel/framework v7.23.2
...中略
    - Installation request for laravel/framework ^7.0 -> satisfiable by laravel/framework[v7.0.0, v7.0.1...以下略].
    - Installation request for laravel/tinker ^1.0 -> satisfiable by laravel/tinker[v1.0.0, v1.0.1...以下略].

どうやら、最後の方に出るエラーが肝のようです。

    - Installation request for laravel/framework ^7.0 -> satisfiable by laravel/framework[v7.0.0, v7.0.1...以下略].
    - Installation request for laravel/tinker ^1.0 -> satisfiable by laravel/tinker[v1.0.0, v1.0.1...以下略].

composer.jsonでlaravel/tinkerのバージョンを^2.0に変更。
無事アップデートが始まりました。

エラー その2

しかし、今度は別のエラーが発生

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255を参考に対処していきます。

エラー その3

上記エラーは解決しましたが、また別のエラー発生

In cache.php line 91:

  Call to undefined function str_slug()

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

Laravel6へのアップグレードで Call to undefined function str_slug()を参考に進めます。

composer require laravel/helpers

を実行したところ、別のエラーメッセージが...

In Auth.php line 56:

  In order to use the Auth::routes() method, please install the laravel/ui pa
  ckage.

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

【Laravel6系】php artisan make:authが使えない問題の対処法を参考に進めていきます。

composer require laravel/ui

を実行し、無事エラーが消えました!

php artisan --version
Laravel Framework 7.24.0

まとめ

初めてのバージョンアップでしたが、とても簡単にできました!

composer.jsonで各パッケージのバージョンを変えて、あとはエラーメッセージを基に対処していくだけでした。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?