🐶

【Laravel11】Laravel sailで環境構築(Mac & Windows)

2024/04/03に公開

はじめに

最近Laravelがバージョン10から11に変わったということを聞いて「どうせなら一番新しいのでやりたい!」と思いYouTubeなどで動画を探したのですが、日本語の動画はバージョン10が多く断念、、

よし、公式ドキュメントをみよう!
英語だらけで難しそうなイメージだったのですが、やってみると案外簡単&MacもWindowsもしっかり動いたので自分とチームメンバー用に残しておきます。

Laravel sailとは

https://laravel.com/docs/11.x#sail-on-macos

Laravel Sailは、Dockerコンテナ技術を使って、Laravelプロジェクトに必要な環境(PHP、MySQL、Redisなど)を自動的にセットアップしてくれる超優秀なやつです。

Sailを使うメリットはこんな感じ

  1. 簡単にLaravel開発環境を構築。Sailが自動的に必要なコンテナを用意。

  2. 異なるPCや環境でも、同じ環境でLaravelプロジェクトを実行できる。

  3. 各コンテナは独立しているので、プロジェクト間の依存関係の衝突を避けられる。

  4. コマンド一つで環境を起動・停止できるので、環境管理がめちゃめちゃ楽。

例えば、sail up コマンドを実行すると、Laravelプロジェクトに必要な環境が自動的に立ち上がり、sail down コマンドで環境を停止できます。

他にも、sail php artisan migrate のように、sail コマンドの後に通常のLaravelコマンドを続けることで、Dockerコンテナ内でそのコマンドを実行できます。

説明はこの辺にして早速インストールしていきましょう!

コマンド(Mac,Win共通)

結論この2行。(WindowsはWSL2のコマンドラインで実行してください!)

curl -s https://laravel.build/example-app | bash

example-appは任意で変更可能です!
作ったディレクトリに移動して以下のコマンドを実行

./vendor/bin/sail up

このコマンドがdocker-compose upと同じでdocker-compose.ymlファイルを元にコンテナを作ってくれます!

これだけですぐに最新のLaravelを触れるのにはめちゃめちゃ感動しました、、

最後にいちいち./vendor/bin/sailを打つのはめんどいのでsailだけで実行できるようにエイリアスの登録方法も紹介します!

Macのエイリアス登録

まずMacでの登録の流れを説明します。

ホームディレクトリに移動

cd ~

-aオプションで隠しファイルの.zshrcがあるかを確認

ls -a

あればopenで開く

open ~/.zshrc

「i」を押してインサートモードにし、上の行をどこかに追加

alias sail="./vendor/bin/sail"

esc->:wqで保存

変更を保存させる

source ~/.zshrc

sailにエイリアスが登録されているか確認

sail up -d

これでコンテナが起動したらOKです!

Windows(WSL2)エイリアス登録

次にWindowsでの登録の流れを説明します。
(基本的な流れは同じです)
ホームディレクトリへ

cd ~

.bashrcがあるか

ls -a

.bashrcを開く(nanoでもいい)

vim ~/.bashrc

インサートモードでこの行をどこかに追記

alias sail="./vendor/bin/sail"

esc->:wq(保存)
変更を保存

source ~/.bashrc

sailにエイリアスが登録されているか確認

sail up -d

コンテナが起動したらOKです!

ちなみに以下のコマンドでもエイリアス登録はできます

alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'

ただ、このコマンドではターミナルを閉じたりしたら再度打ち直しが必要なので、エイリアスを永続化させたい場合は上記の方法で登録するのがオススメです!

以上!

Discussion