0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows + WSL2(ubuntu) + Laravel Sail で環境構築する方法(エイリアス設定付き)

Last updated at Posted at 2025-03-18

Laravel Sailを使うと、Windowsでも簡単にLaravelの開発環境を構築できます。
しかし、デフォルトでは ./vendor/bin/sail up -dのように毎回フルパスを指定しないといけないため、エイリアスを設定してsail up -dだけで実行できるようにします。

①なぜWindowsで WSL2 + Laravel Sailを使うのか?

WindowsでLaravelを動かすにはPHP・Composer・MySQLなどを手動でインストールする必要がありますが、以下の問題があります。

  • WindowsはLinuxベースではないため、Laravelの動作環境が異なる
    (エラーが出やすい)。

  • PHPやMySQLのバージョン管理が難しい
    (プロジェクトごとに異なるバージョンを使うのが困難)。

  • Windowsのファイルシステムの制約により、npm installなどが失敗しやすい。

②WSL2 + Laravel Sailを使うメリット

  • WindowsでもUbuntu(Linux)環境を作れる
    →本番環境と同じ環境で開発できる。

  • Laravel Sail(Docker)を使えば、PHPやMySQLのインストール不要!

  • プロジェクトごとに異なるPHP / MySQLを使える
    →開発環境を統一できる。

③WSL2 + Laravel Sailのセットアップ

1.WSL2(Ubuntu)をセットアップ

wsl --install -d Ubuntu

WSL2のUbuntuを開き、初期設定(ユーザー作成)を行う。

2.Docker Desktopのインストール
公式サイトからインストール。

Docker Desktopの設定
→「Use the WSL2 based engine」を有効にする。

④Laravelプロジェクトの作成

Ubuntu(WSL2)内で Laravelプロジェクトを作成。

cd ~
composer create-project laravel/laravel myapp
cd myapp

⑤Laravel Sailをインストール

composer require laravel/sail --dev
php artisan sail:install

※ sail:install実行時に使用するサービス(MySQL, Redis など)を選択。

⑥ Laravel Sailで環境を起動

./vendor/bin/sail up -d

これでLaravelが動作する環境が完成!
→ブラウザで http://localhost にアクセスして確認。

⑦sailコマンドを短縮する(エイリアスの設定)

./vendor/bin/sail up -d を sail up -d だけで実行できるようにするために、エイリアスを設定します。

1. ~/.bashrc にエイリアスを追加
以下のコマンドを WSL2(Ubuntu)内で実行。

echo 'alias sail="/mnt/c/user/keiziban/vendor/bin/sail"' >> ~/.bashrc
source ~/.bashrc

※ "/mnt/c/user/keiziban" の部分は、自分のLaravelプロジェクトのフルパスに変更してください。

2.設定の確認
エイリアスが正しく登録されているか確認。

alias

alias sail='/mnt/c/user/keiziban/vendor/bin/sail' が表示されればOK!

さらに、which sail で sail コマンドが正しく設定されているかチェック。

which sail

/mnt/c/user/keiziban/vendor/bin/sail が表示されればOK!

もし/usr/games/sailなど別のパスが表示されたら、以下でキャッシュをクリア。

hash -r
which sail

3.sail up -d が動くか確認

sail up -d

これでLaravelのDockerコンテナが起動すれば成功!

⑧複数のプロジェクトでsailを使う場合

エイリアスを固定すると、特定のプロジェクトでしか使えないため、どのプロジェクトでもsail を使えるようにする方法を紹介します。

.bashrcに関数を追加

sail() {
   if [ -f "./vendor/bin/sail" ]; then
       ./vendor/bin/sail "$@"
   else
       echo "Error: ./vendor/bin/sail が見つかりません。プロジェクトのルートディレクトリで実行してください。"
   fi
}

設定を反映する。

source ~/.bashrc

これでどのプロジェクトでも、sail コマンドが使えるようになる!

⑨まとめ

スクリーンショット 2025-03-31 095747.png

  • WindowsではLaravelの環境構築が難しい
    → WSL2 + Laravel Sailで解決!

  • WSL2(Ubuntu)でLaravel Sailをセットアップ
    → Dockerで環境を統一できる!

  • エイリアスを設定すれば sailコマンドを短縮できる!

  • 複数のプロジェクトを管理するなら sail()関数を .bashrcに追加!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?