Laravelの環境構築をしようとしたら、一瞬で終わって感動したという感想メモです。
公式サイトに書いてあること以上のことは出ません。
環境構築手順
今までは、Laravelの環境構築のために、
- PHPを入れる
- Laravelコマンドを入れる
- Laravelをインストールする
- データベースとかも準備する
- 必要であればnodeやらyarnやらも準備する
- ローカルが汚れないように仮想環境を準備する
みたいな面倒なやつが必要でした。
そして、ちょいわけあって新規の環境を用意する必要があり、「面倒だなー」と思いながら環境構築をしたのですが、一瞬で終わってびっくりしました。
今やLaravelの環境構築は3ステップで終わります。
- Docker for Mac を入れる
curl -s https://laravel.build/example-app | bash
./vendor/bin/sail up
.env.example
のコピーや artisan key:generate
は必要ありません。
composer install
も不要です。
PHPを入れる必要すらありません。
この sail がLaravel8から入った新機能のようでした。
できる環境
Laravelの開発環境を作るライブラリのようです。
デフォルトでは
- PHP8.0
- MySQL8.0
- Redis
- MailHog
- node ( npm )
の環境が出来上がります。
デフォルトではコメントアウトされていますが、Laravel Dusk のために selenium
のコンテナも建てられます。
ちなみにPHPバージョンは7.4でも作れるようです。
dockerがわかる人であれば、 docker-compose.yml
を読めば「ああなるほどね」となると思います。
操作体系
docker環境となると、「dockerわからん人どうするんじゃい!」という話が上がりそうですが、そこらへんもわかりやすくまとまってました。
./vendor/bin/sail
がエントリポイントとなり、色々とできるようです。
やりたいこと | 今までのコマンド | sailでのコマンド |
---|---|---|
環境立ち上げ | docker-compose up / php artisan serve |
sail up |
環境破棄 | docker-compose down / ( serveを終了する ) |
sail down |
PHPコマンド | php info.php |
sail php info.php |
Composer操作 | composer update |
sail composer update |
npm操作 | npm i |
sail npm i |
Artisanコマンド | php artisan make:model User |
sail artisan make:model User |
Laravel Dusk | php artisan dusk |
sail dusk |
Laravel Tinker | php artisan tinker |
sail tinker |
Shellコマンド | docker-compose exec sh |
sail shell |
だいたいのことはできそうです。
./vendor/bin/sail
が起点になるので、エイリアスやシンボリックリンクを用意すると良いと思います。
まとめ
個人開発でサクッと環境構築するにはとても便利そうです。
プロダクションで使用する場合は、もうちょっとコンテナの中を覗いたりする必要がありそうです。