
Laravel Sailとは
本記事では、GitHubなどから取得した既存のLaravelプロジェクトを、Laravel Sailを使ってローカル環境で起動する手順を紹介します。
.envの作成、Composerパッケージのインストール、Dockerコンテナの起動、マイグレーション、Vite開発サーバーの起動までを順番に解説します。
また、APP_KEYが設定されていないエラーや、データベースのテーブルが存在しないエラーなど、初回起動時によく発生する問題への対処方法も紹介します。
今回使用する環境
本環境のベースは、AIエージェント(Claude Code)で作成したものである。
今回起動するLaravelプロジェクトの主な構成は次の通りです。
- Laravel 13
- PHP 8.4
- Laravel Sail
- MySQL
- React
- Inertia.js
- Tailwind CSS
- Vite
プロジェクトには、Laravel Sail用のcompose.yamlがすでに用意されているものとします。
Laravel Sailを起動する前提条件
- Docker Desktopがインストールされている。
- プロジェクトにcomposer.jsonがある
- プロジェクトにcompose.yamlまたはDocker Compose設定がある
- laravel/sailがComposerパッケージとして登録されている
- ターミナルからプロジェクトのルートディレクトリを開いている
Laravel公式ドキュメントでは、SailはLaravelのDocker開発環境を操作するための軽量なCLIを説明されており、その中心はプロジェクトルートのcompose.yamlとSailスクリプトです。
.envファイルを作成する
Laravelの一般的な初期構成では、通常は、.env.exampleをコピーして.envを作成します。
cp .env.examle .env
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
.envの中ぐらいにこのような設定があるかと思います。
それを以下のように変更します。
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
DB_DATABASE 、DB_USERNAME 、DB_PASSWORDは、compose.yamlに設定されているMySQLの環境変数と一致させます。
Composerパッケージをインストール
MacにComposerがインストールされている場合
composer install
Composerがインストールされていない場合
事前にComposerをインストールする必要があります。
また、vendor/bin/sail自体がvendor内にあるため最初のcomposer installが完了するまでは次のコマンドを実行できません。
./vender/bin/sail up
Docker Desktopを起動する
事前にDocker Desktopを起動しておく。
Laravel Sailをビルド・起動する
Docker Desktopのインストールを実施
Docker Desktopの公式ページへ行き、自分のOSに合う「Docker Desktop」をダウンロードし、自分のPCへインストールを実施しておく。
Dockerイメージを含めてビルドは以下のコマンドで実行します。
./vendor/bin/sail up -d --build
Laravelの初期設定を行う
APP_KEYを生成する
Laravelのアプリケーションキーを事前に設定しておく。
./vendor/bin/sail artisan key:generate
マイグレーションを実行する
DBに初期値を設定しておくために以下のコマンドを実行
./vendor/bin/sail artisan migrate
React・Viteを起動する
Vite,React,Inertiaなどを使っている場合は、Node.jsパッケージもインストールします。
./vendor/bin/sail npm install
そして、ローカル環境での起動は以下のコマンドで実施
./vendor/bin/sail npm run dev
ブラウザからLaravelを確認する
通常は、次のURLにアクセスします。
http://localhost

上記のような画面が表示できたら、Laravel Sailでの立ち上げが成功しています。
Laravel Sailの起動・停止コマンド
Laravelの単体の環境で立ち上げる場合は、以下のコマンドで、sailを立ち上げ、ローカル環境にアクセスすることができる。
./vender/bin/sail up -d
フロントエンドにVite,React等を組み込んでいる場合には、
npm run dev
で、サーバを立ち上げる必要がある。
よくあるエラーと対処方法
No application encryption key has been specified
ブラウザでLaravelにアクセスした際、上記エラーが発生した場合は、以下のコマンドを実施し、アプリケーションのAPP_KEYを設定する。
./vendor/bin/sail artisan key:generate
を実施することで、.env内のAPP_KEYに値が設定される。
Base table or view not found
上記エラーが発生した場合、Laravelのテーブルがない状態である。
./vendor/bin/sail artisan migrate
を実施することで、Laravelのテーブルを作成できる。
終わりに
本記事では、GitHubなどから取得した既存のLaravelプロジェクトを、Laravel Sailを使ってローカル環境で起動する手順を紹介しました。
基本的な流れは、.envの作成、Composerパッケージのインストール、Sailの起動、アプリケーションキーの生成、マイグレーション、Vite開発サーバーの起動です。
初回起動時にエラーが発生した場合は、APP_KEY、データベース設定、マイグレーションの実行状況、Viteの起動状況を確認してください。
Laravel Sailを利用すると、PHPやMySQLなどの開発環境をDockerコンテナとして統一できるため、複数人での開発や別のPCへの環境移行もしやすくなります。


コメント