Laravelはよく更新されており、僕も昨年度(2019/04)ごろにインストールしたものはversionが5.8でした。
しかし、現在(2020/02)ではversionが6.15.1なっており、新しいlaravelの要素を使うならあげる必要があります。
そのバージョンアップを簡単にみてみようと思います。
ただし、今回はそれに付随するリファクタ等は扱いません(プロダクトとしてバージョンアップを考えている方のご参考にはならないかもです...)。
Laravelの更新の前に
さて、Laravelを更新していくんですが、フレームワークの更新は実はとても大変です...
僕は現在v5.8を使用していて、最新版はv6.0です。
"新しいの出たから変えよ〜!"
と気軽に手をつけてしまうと...恐ろしいことに...
というのも...古いバージョンでは使えた機能が最新版では使えなくなることが多々あります。
そのままバージョンをあげてしまうとその機能を使用しているページでは当然エラーが発生します...orz
つまり、そう言ったレガシーなコードから使えなくなった機能を消していき、新しいバージョンでも問題なく動くようにした上でアップグレードする必要があるわけです...
...とここまで言ってきましたが、基本的にはプロダクトとして開発している人とか、実際にページを公開等していなければまぁ、そんなに気にしなくてもいいのかぁと思います。
一応、そう言ったことを確認しつつ安全にアップグレードをしたい人は以下を参考にしてみてください。(2020/02時点の最新)
laravelを更新する!
さて、それでは、とりあえず前述した依存性のことを度外視して、アップグレードしてみます。
というのも、僕自身のプロジェクトの中身はインストール時とほとんど変わらないので...orz
ではやっていきます!
composer.jsonを修正する
laravelはcomposerで管理しています。
composerと言うのは、あるパッケージを使うためには別のパッケージも必要だし、その別のパッケージを使うためにはさらに別のパッケージも必要だよね〜とか、そう言うものを全ていい感じに取ってきてくれます。
じゃぁ、どんなものを取ってきて欲しいのかを書くのがcomposer.jsonファイルです。
composer.jsonファイルがプロジェクトフォルダ下にあります。
そこの"laravel/framework"部分(筆者の場合13行目でした)を書き換えます。
// これから
"laravel/framework": "5.8.*",
// こっちに
"laravel/framework": "^6.0",
こうすることで、laravelの最新(6.0以上)を持ってきてねー!って伝えることができます。
"^"はキャレット表記と言われ、上記の書き方だと、"6.0 <= version < 7.0"といった具合のversionが指定されます。
これで事前準備はOKです。
インストールする
さて、それではあとはインストールするだけです。
といっても以下のコマンド一つ叩くだけ。
(注意:依存性が解決されていないと、これを実行した後サービスにてエラーが出る可能性があります)
composer update
すると...
Takapon:MyProject taka$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 55 updates, 1 removal
- Removing erusev/parsedown (1.7.3)
- Updating symfony/polyfill-ctype (v1.11.0 => v1.14.0): Downloading (100%)
- Updating phpoption/phpoption (1.5.0 => 1.7.2): Downloading (100%)
- Updating vlucas/phpdotenv (v3.4.0 => v3.6.0): Downloading (100%)
...
...
...
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
こーんな感じでsuccessfullyって出てればOKです。
では、終わった後に以下を実行して確認してみます。
php artisan --version
すると、以下のように表示されます。
Laravel Framework 6.15.1
うまくいったみたいですね。
以上がlaravelの基本的な更新手順になります。
まとめ
バージョンアップについて会社のプロダクトはアップデートがとても大変って言うお話を聞いていて...
プロダクトが大きくなればなるほど大変ですよね...(どこで影響ある機能が使われてるかとか、そこをどう修正するかーとか)
ただ、そう言ったものがない場合は比較的楽にアップグレードできるんだなぁ...と。
まぁ、今後削除される機能を予測しながら開発とか無理ですけども...w
とりあえず、今回はlaravelでさくっと更新してみました!
個人でしかも手元で動作確認程度に使っている(ぼくはそうです...w)のであれば、こう言うのもやってみるとlaravelの概形を掴む助けになるので、是非やってみるいいかもですね!
それでわ!