24
19

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 5 years have passed since last update.

Laravelを5.8→6.0にアップデートしただけの話

Posted at

別案件でLaravelから1ヶ月半ほど離れて戻ってきたところ、Laravel6.0がリリースされていました。
laravel 6.0 アップグレードガイド

ver5.5以来のLTSということで、つい3ヶ月ほど前にver5.8で作成したプロジェクトも早速6.0にアップグレードすることにしました。

初めてLaravelのバージョンアップ作業を行うので、メモ代わりに作業の流れを書きました。
面倒な感じになるかと思いきや、簡単にバージョンアップできて驚きました。

とりあえずやってみる

バージョンアップの方法ですが、composer.jsonの laravel/framework のバージョンを引き上げて composer update するらしいです。
(え、それだけ?)

早速やってみます。
PHPのバージョンも7.2以降が必要とのことなので一緒に修正。

composer.json
"require": {
    - "php": "^7.1.3",
    - "laravel/framework": "5.8.*",
    + "php": "^7.2",
    + "laravel/framework": "^6.0",
}


composer update 実行

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laravel/framework v6.0.4
    - Conclusion: don't install laravel/framework v6.0.3
    - Conclusion: don't install laravel/framework v6.0.2
    - Conclusion: don't install laravel/framework v6.0.1
    - Conclusion: don't install laravel/framework v6.0.0

...以下延々とエラーメッセージ

そう簡単にはいかんか(´・ω・`)

パッケージの整理

調べてみると、エラーのこの部分が肝のよう。

    - Installation request for laravel/framework ^6.0 -> satisfiable by laravel/framework[6.x-dev, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4].
    - Installation request for laralib/l5scaffold ^1.0 -> satisfiable by laralib/l5scaffold[1.0, 1.0.1, 1.0.10, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9].

当プロジェクトではスキャフォールドを行うためにlaralib/l5scaffoldというパッケージを入れていたのですが、これがver6.0に非対応ということでした。
こちらのパッケージを一旦composer.jsonから削除して再度実行します。

すると今度は

    - Installation request for laravel/framework ^6.0 -> satisfiable by laravel/framework[6.x-dev, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4].
    - Installation request for laravelcollective/html ^5.8 -> satisfiable by laravelcollective/html[5.8.x-dev, v5.8.0, v5.8.1].

laravelcollectiveで怒られたので修正。
こちらは6.0対応のバージョンが出ていたのでバージョンを ^5.8 から ^6.0 に書き換えました。

再び実行。

composer update
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 3 updates, 1 removal
  - Removing laralib/l5scaffold (1.0.10)
  - Updating monolog/monolog (1.25.1 => 2.0.0): Downloading (100%)         
  - Updating laravel/framework (v5.8.35 => v6.0.4): Downloading (100%)         
  - Updating laravelcollective/html (v5.8.1 => v6.0.2): Downloading (100%)         
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: barryvdh/laravel-debugbar
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: laravelcollective/html
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: olssonm/l5-very-basic-auth
Package manifest generated successfully.

お、通りましたね。
バージョン確認してみましょう。

php artisan --version
Laravel Framework 6.0.4

そう簡単に…いったわ(・ω・*)

まとめ

・バージョンアップ自体は非常に簡単
・laravel/framework以外の各パッケージのバージョンもちゃんと確認しようね

という、それだけでした。
ここからテスト走らせるなどしてバージョンアップの影響出ていないか確認していきます。

スキャフォールドのパッケージはアプデ待ちか代替パッケージ探しが必要そうですね(´・ω・`)

24
19
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
24
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?