概要
WSL(Windows Subsystem for Linux)&Docker開発環境 Larvel Sail上で、現在のLaravel最新版(Laravel 12)、ユーザ認証を含むスターターキットのLaravel Breezeをインストールし、日本語対応まで行います。
Laravel Sail でプロジェクト作成
プロジェクト名を「laravel-sample」としてインストール
curl -s "https://laravel.build/laravel-sample" | bash
laravel-sampleディレクトリが生成され、それ以下にファイル群が展開されます。
sailコマンドのエリアス設定
sailコマンドのパスは「vendor/bin/sail」だが、面倒なので「sail」だけで実行できるようにします。
※すでに設定している場合は無視で。
~/.bashrc に以下を追記
# Laravel Sail Command Alias
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'
再ログイン時には自動で読み込まれますが、即時読み込みするには以下のコマンドを実行します。
~/laravel-sample$ source ~/.bashrc
phpMyAdminを追加
データベース操作用にLaravel Sail にphpMyAdminを追加します。
docker-compose.yml
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mysql:mysql
ports:
- 8080:80
environment:
MYSQL_USERNAME: '${DB_USERNAME}'
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
PMA_HOST: mysql
networks:
- sail
Laravel 12 環境設定
環境設定ファイル.envを編集します。
.env
APP_NAME=Laravel-sample
APP_ENV=local # 公開時はproduction
APP_DEBUG=true # 公開時はfalse
APP_LOCALE=ja # 日本語
APP_FALLBACK_LOCALE=ja # 日本語
APP_FAKER_LOCALE=ja_JP # 日本語
#LOG_CHANNEL=stack # このままだと1ファイルにすべて記述されるため変更
LOG_CHANNEL=daily # laravel.logを日別保存にします:laravel-yyyy-mm-dd.log形式
#SESSION_DRIVER=database # データベースにセッション情報を保存
SESSION_DRIVER=file # ファイルにセッション情報を保存
タイムゾーン変更
Laravel 12ではconfig/app.phpを直接変更する必要がある。
config/app.php
# 'timezone' => 'UTC',
'timezone' => 'Asia/Tokyo',
もしくは、config/app.phpで
'timezone' => env('APP_TIMEZONE', 'UTC'),
として、.envで
APP_TIMEZONE=Asia/Tokyo
Laravel Breeze のインストール
Laravel Sail 起動
~/laravel-sample$ sail up -d
Laravel Breeze のインストール
~/laravel-sample$ sail composer require laravel/breeze
~/laravel-sample$ sail artisan breeze:install
┌ Which Breeze stack would you like to install? ───────────────┐
│ › ● Blade with Alpine │
│ ○ Livewire (Volt Class API) with Alpine │
│ ○ Livewire (Volt Functional API) with Alpine │
│ ○ React with Inertia │
│ ○ Vue with Inertia │
│ ○ API only │
└──────────────────────────────────────────────────────────────┘
┌ Which Breeze stack would you like to install? ───────────────┐
│ Blade with Alpine │
└──────────────────────────────────────────────────────────────┘
┌ Would you like dark mode support? ───────────────────────────┐
│ No │
└──────────────────────────────────────────────────────────────┘
┌ Which testing framework do you prefer? ──────────────────────┐
│ › ● Pest │
│ ○ PHPUnit │
└──────────────────────────────────────────────────────────────┘
マイグレーション
~/laravel-sample$ sail artisan migrate
日本語化
言語パッケージインストール
~/laravel-sample$ sail composer require --dev laravel-lang/lang laravel-lang/publisher
言語ファイル展開
~/laravel-sample$ sail artisan lang:add ja