27
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

3秒で終わるLaravel開発環境構築

Posted at

はじめに

DockerでLaravelの開発環境構築するか〜と思ってネット上をサーフィンしていたところ、2020年末にLaravelが公式にLaravel Sailというめちゃくちゃ便利なDocker環境をリリースしていたのでまとめました。
Dockerの知識がない方でも簡単に始められます。Laravel Sail初見の方はぜひ騙されたと思ってやってみてください!

環境

  • macOS Big Sur
  • Docker Desktop 3.3.3

Laravel Sailを使うためにはDocker Desktopのインストールが必要です。

新規Laravelアプリの作成とSailのインストール

terminal
$ curl -s https://laravel.build/<アプリ名> | bash

アプリの作成とsailのインストールは同時に行われます。
これでmysqlredismeilisearchseleniummailhogがデフォルトで利用できるようになりますが、withクエリを使って

mysql
pgsql
mariadb
redis
memcached
meilisearch
selenium
mailhog

から使いたいサービスを個別指定することも可能です。

mysqlとredisを指定する例
$ curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

#既存のLaravelアプリにSailをインストールする場合

terminal
$ composer require laravel/sail --dev
$ php artisan sail:install

アプリの起動

terminal
$ cd <Laravelアプリ>
$ ./vendor/bin/sail up -d

http://localhost/にアクセスするとLaravelの初期画面が、http://localhost:8025にアクセスするとMailHogが表示されます。Sailをバックグラウンドで起動するにはデタッチの-dオプションを追加します。

エイリアス設定

呼び出し時に毎回./vendor/bin/sailと入力するのが面倒なので、エイリアスを設定します。こちらの記事を参考にさせて頂きました。

bashシェルの場合
$ alias sail='./vendor/bin/sail'
$ source ~/.bash_profile
zshシェルの場合
$ alias sail='./vendor/bin/sail'
$ source ~/.zshrc

コマンド実行

artisanコマンド
$ sail artisan make:controller コントローラ名
phpコマンド
$ sail php --version
composerコマンド
$ sail composer require ベンダー名/パッケージ名
nodeコマンド
$ sail node --version
npmコマンド
$ sail npm run dev
phpunitコマンド
$ sail test 

例:Vueのセットアップ

コンテナ起動、停止以外は普段通りです。どれだけ普段通りか示すためにVueとの連携手順を載せておきます。

terminal
laravel/uiのダウンロード
$ sail composer require --dev laravel/ui #この時点でresources/js/components以下にvueコンポーネントが設置される

vueの認証スカフォールドの生成
$ sail artisan ui vue --auth #認証機能をつけたい場合(ちなみにlaravelはjetstreamを推奨してます)

パッケージのインストール
$ sail npm install

ビルド
$ sail npm run dev #または sail npm run watchで自動コンパイル

アプリ(コンテナ)の停止

terminal
$ sail down #または'Ctr + C'

おわりに

いかがでしたか?Docker Desktopがあらかじめインストールされていた方は

terminal
$ curl -s https://laravel.build/<アプリ名> | bash
$ ./vendor/bin/sail up

の2行、時間にして約3秒くらいで開発環境構築が完了しましたね!(適当)

自分でDockerfile, docker-composeファイルを作る手間なくMySQL, mailサーバ等開発における必要最低限の機能が用意されるのでめちゃくちゃ便利です。

まだ試してない方はぜひ使ってみてください!

参考

27
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?