はじめに
Laravel Sail を使用して Laravel プロジェクトの開発環境を構築する手順をまとめました。複雑なDocker設定をせずに簡単に Laravel 開発環境を立ち上げることができます。
前提条件
- macOS(筆者は macOS 23.6.0 を使用)
- Docker Desktop がインストール済み
- Git がインストール済み
1. プロジェクトのセットアップ
1.1 プロジェクト作成
composer create-project laravel/laravel <プロジェクト名> --prefer-dist
1.2 必要なパッケージのインストール
composer require laravel/sail --dev
2. 環境設定
2.1 Sail エイリアスの設定(推奨)
毎回長いコマンドを打たなくて済むよう、エイリアスを設定しておくと便利です。
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'
永続的に設定する場合は、~/.zshrc
に追加:
echo "alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'" >> ~/.zshrc
source ~/.zshrc
3. データベース設定
3.1 .env ファイルのデータベース設定
Laravel Sail を使用する場合、デフォルトで以下の設定を使用します:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
3.2 各設定項目の説明
-
DB_HOST:
mysql
(docker-compose.yml で定義されたサービス名) -
DB_PORT:
3306
(MySQL の標準ポート) -
DB_DATABASE:
laravel
(デフォルトのデータベース名) -
DB_USERNAME:
sail
(デフォルトのユーザー名) -
DB_PASSWORD:
password
(デフォルトのパスワード)
4. Sail の起動と初期設定
4.1 Sail コンテナの起動
sail up -d
4.2 アプリケーションキーの生成
sail artisan key:generate
4.3 マイグレーションの実行
sail artisan migrate
5. 動作確認
5.1 ブラウザでの確認
-
正しいアクセス方法:
http://localhost/
-
間違ったアクセス方法:
https://localhost/
(デフォルトでは SSL 未対応)
5.2 コンテナの状態確認
sail ps
6. よくあるトラブルシューティング
6.1 データベース接続エラー
エラー: ERROR 1045 (28000): Access denied for user 'sail'@'172.XX.X.X' (using password: YES)
解決方法:
sail down -v
sail up -d
6.2 テーブルが存在しないエラー
エラー: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'laravel.sessions' doesn't exist
解決方法:
sail artisan migrate
6.3 ポート接続エラー
エラー: invalid IP address: http
解決方法:
-
.env
ファイルの設定を確認
APP_URL=http://localhost
APP_PORT=80
- 余計なスペースや改行が入っていないか確認
- 修正後、再度
sail up -d
を実行
6.4 HTTPS 接続エラー
エラー: curl: (7) Failed to connect to localhost port 443
解決方法:
- Laravel Sail のデフォルト設定では HTTP(80番ポート)のみが有効
-
http://localhost/
でアクセスしてください
7. Git 管理の設定
7.1 リポジトリの初期化
git init
git remote add origin <GitHubリポジトリのURL>
git branch -M main
7.2 初回コミットとプッシュ
git add .
git commit -m "Initial commit: Laravel project setup with Sail"
git push -u origin main
8. 便利な Sail コマンド
# コンテナの起動
sail up -d
# コンテナの停止
sail down
# コンテナの状態確認
sail ps
# Artisan コマンドの実行
sail artisan migrate
sail artisan make:controller UserController
sail artisan make:model User -m
# Composer コマンドの実行
sail composer install
sail composer require package-name
# NPM コマンドの実行
sail npm install
sail npm run dev
sail npm run build
# データベース関連
sail artisan migrate:fresh
sail artisan db:seed
sail artisan tinker
# ログの確認
sail logs
sail logs laravel.test
まとめ
Laravel Sail を使用することで、Docker の知識がなくても簡単に Laravel 開発環境を構築できます。設定も最小限で済み、チーム開発でも環境の統一が容易になります。
今回構築した環境では、以下の機能が利用可能です:
- Laravel 12.x
- MySQL 8.0
- PHP 8.4
- Node.js(Vite によるフロントエンド開発)
今後の開発では、sail
コマンドを使って Laravel の各種機能を利用していきましょう。
参考リンク
この記事が Laravel Sail を使った環境構築の参考になれば幸いです!