Laravel PR

【簡単】Laravelのバージョンを確認する3つの方法

記事内に商品プロモーションを含む場合があります

こんにちわーおぐらです。

「使っているLaravelのバージョンを知りたい」
そんなときのために、バージョンを確認する方法を3つ紹介します。

確認環境

OS: Windows10
PHP: 8.1.12
Laravel: 9.41
※環境によってアプリケーションのURLやバージョンは変わる場合があります。

Laravelのバージョンを確認する3つの方法

紹介する方法は次の3つです。
どれも簡単に使えるので気構える必要はありません。

バージョン確認方法
  • artisanコマンド
  • composer
  • Applicatioinクラス

artisanコマンドとcomposerはCLI(コマンドラインインターフェース)、つまり黒い画面にコマンドを入力して確認する方法です。
3つ目のApplicatioinクラスはLaravelが用意してくれているクラスで、プログラミングするときに使える方法になります。

artisanコマンドでLaravelのバージョンを確認する

次のコマンドを入力するしてエンターを押しましょう。

php artisan -V

Laravelのバージョンが出力されます。
バージョンは9.41.0であることがわかりました。

Laravel Framework 9.41.0

-Vというところを–versionに置き換えても同じ結果となります。
ハイフンの数が違う点に注意しましょう。

php artisan --version

Laravel Sailを使っている場合

Laravel Sailを使っている場合はphpではなくsail経由でコマンドに変えてください。

./vendor/bin/sail artisan -V
./vendor/bin/sail artisan --version

sailコマンドをシェルエイリアスに登録している方はsailだけで実行可能です。

sail artisan -V

composerでLaravelのバージョンを確認する

つづいてはcomposerを使った方法です。
パッケージの詳細を表示するshowコマンドを使ってLaravelのバージョンを表示します。

composer show laravel/framework

laravel/frameworkパッケージの詳細が出力されます。
artisanコマンドとは違いバージョン以外にも様々な情報を確認できます。

バージョンはversionsの項目を見てください。

name : laravel/framework
descrip. : The Laravel Framework.
keywords : framework, laravel
versions : * v9.41.0
... 以下他の情報が続きます

Laravel Sailを使っている場合

Laravel Sailを使っている場合は、artisanのときと同じようにsail経由でのコマンドに変えてください。

./vendor/bin/sail composer show laravel/framework

sailコマンドをシェルエイリアスに登録している方はエイリアスでOKです。

sail composer show laravel/framework

showコマンドの-iオプションは不要です

余談になりますが、showコマンドに-iオプションをつけなくてOKです。
-iオプションはインストール済のパッケージを対象とするオプションですが、現在はデフォルトでインストール済のパッケージが対象となっており、deprecated(非推奨)扱いになってます。

-iオプションを付けても同じように問題なく使えますが警告文が出ます。

You are using the deprecated option "installed". Only installed packages are shown by default now. The --all option can be used to show all packages.

ApplicationクラスでLaravelのバージョンを確認する

最後はLaravelフレームワーク内でプログラミングするときに使える方法です。

Applicationクラスとは

Laravelが用意してくれているクラスで、そのクラスの中にバージョン情報を保持しています。

Illuminate\Foundation\Application

Applicationクラスからバージョンを取得する

Laravelのapp関数を引数なしでコールするとApplicationクラスが返ります。

app(); // => Illuminate\Foundation\Application

dd関数で見てみると…

dd(app());

Applicationクラスであることがわかりますね。

前置きが長くなりましたがバージョン情報を取得するには、Applicationクラスのversionメソッドを使います
versionメソッドはLaravelのバージョンを文字列で返します。

versionメソッド

app()->version(); // => "9.41.0"

先ほどと同じようにdd関数で確認すると…
バージョンが表示されていますね。

dd(app()->version());

例として簡単にバージョンの文字列を返すルーティングを書いてみます。

// routes/web.php
Route::get('/version', function() {
    return 'Laravelのバージョンは「' . app()->version() . '」です。';
});

/versionにアクセスするとLaravelのバージョンは「9.41.0」です。と表示されていることを確認できました。

Applicationクラスの定数として定義されている

こちらはあまり使う機会のないものになるかと思いますがバージョンはApplicationクラスの定数として定義されています。
そしてversionメソッドはApplicationクラスのバージョン定数を返しているだけです。

Illuminate\Foundation\Application::VERSION

つまりversionメソッドでも、VERSION定数でも同じ結果が得られます。

app()->version() === Illuminate\Foundation\Application::VERSION // => true

Laravelのバージョン確認方法まとめ

あらためてまとめると、Laravelのバージョンを確認する方法は複数あります。

バージョン確認方法
  • artisanコマンド
  • composer
  • Applicatioinクラス

バージョンが必要な理由などに応じて、やりやすい方法を使いましょう!!