【Laravel10*M3】Laravelプロジェクトの始め方
Macを新調して開発をしていくにあたって、自分のMacの環境はあまり汚したくない(必要ないライブラリなどは入れたくない)のでスマートに開発、デプロイができるように手順をまとめておきます。
Laravel11は結構破壊的なモデルチェンジなのでLaravel10の開発環境を整えるものとします。
目次
- dockerを使ってプロジェクトを作成
- 動作確認
- 参考にした記事
dockerを使ってプロジェクトを作成
M3搭載のMacにはPHPは搭載されていない。そういう方針ならPHPerとしては悔しいが、あえてPHPをインストールしてComposerをインストールして、、は時代に逆らっている気がするのでやらない。
laravel.buildを使ってインストールを行います。これは内部的に、laravelsailのdcockerイメージを呼び出してインストールを行います。PHPのruntimeの指定をしないと最新のLaravel11になってしまうのでLaravel10の最低条件であり、Laravel11の条件外であるPHP8.1を指定する
$ curl -s "https://laravel.build/my-project?php=81" | bash
sailコマンドのエイリアスを設定
.zshrcに設定を書き込んで反映させます。
# ~/.zshrcに以下を追加
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'
# 設定反映
$ source ~/.zshrc
ポートを割り当てて競合を避ける
起動する前に.env
を開き、使用するポートを追記します。この手順が漏れると、複数のLaravel開発環境を起動したときに、portが競合してしまって起動に失敗します。ダイナミック/プライベートポートは、49513~65535
の範囲で割り当てられるので、競合しないようにPORTを割り当ててください。
# .env
APP_PORT=50080
VITE_PORT=55173
FORWARD_DB_PORT=53306
FORWARD_REDIS_PORT=56379
FORWARD_MAILPIT_PORT=51025
FORWARD_MAILPIT_DASHBOARD_PORT=58025
FORWARD_PHPMYADMIN_PORT=58080
phpmyadminのコンテナを追加する
任意ですが、私は入れたいのでdocker-compose.ymlファイルのservicesの中に以下を追加
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mysql:mysql
ports:
- ${FORWARD_PHPMYADMIN_PORT:-8080}:80
environment:
MYSQL_USERNAME: '${DB_USERNAME}'
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
PMA_HOST: mysql
networks:
- sail
コンテナを立ち上げる
$ sail up -d
動作確認
ブラウザからアプリケーションにアクセス
phpmyadminにアクセス
メールを送信してみる
# tinkerを起動
$ sail artisan tinker
# 対話モードで以下を入力
Mail::raw('hello world', fn($msg) => $msg->subject('test')->to('test@example.com'));
ブラウザで確認
参考にした記事
https://zenn.dev/imah/articles/5d761f8f8c26fe