この記事では、Laravel sailを使った環境構築の方法を紹介します。
Laravel sailは、Laravelのデフォルトの開発環境を簡単に構築するための便利な機能です。
Dockerの詳しい知識がなくてもコマンドを実行するだけで開発環境が作成できます。
環境構築は駆け出しの際は難敵になりやすいのでLaravel sailでの環境構築がおすすめです。
この記事を読むメリット
- Laravel sailを使って簡単にLaraveの環境構築ができるようになる
環境構築の前準備:Dockerのインストール
Laravel sailを使った環境構築を始めるための前準備として1つ必須のものがあります。
それがDockerです。
まだインストールされたことがない方は以下URLからインストールします。
https://www.docker.com/products/docker-desktop
Laravel sailはこのDockerでの開発環境を構築するためのコマンドラインツールです。
ですので次章以降での構築作業に入る際はDockerが起動されていることが前提になります。
Laravel sailを使った環境構築
ここからLaravel sailを使った具体的な構築方法を紹介していきます。
Dockerがインストールされた状態であることを確認した上で以下コマンドを実行します。
コマンド実行
まずは以下コマンドを実行します。
curl -s "https://laravel.build/laravel_sail" | bash
「laravel_sail」がプロジェクト名になり、「laravel_sail」というフォルダが作成されます。
この部分は自由に変更してください。
Dockerが起動していないと以下のようなメッセージが返ってきます。
Docker is not running.
Dockerのアプリを起動させてからコマンド実行させましょう。
結構時間がかかるので気長に待ちます。
途中、パスワードを求めれられるのでPCのパスワードを入力します。
Please provide your password so we can make some final adjustments to your application's permissions.
Password:
処理が終わると以下のようなメッセージが表示されます。
Thank you! We hope you build something incredible. Dive in with: cd laravel_sail && ./vendor/bin/sail up
これで準備が完了です。
Laravel側の設定
作成されたフォルダに移動して起動してみます。
cd laravel_sail
./vendor/bin/sail up
その状態で「http://localhost/」にアクセスします。
そのままうまくいってトップページが表示されるという記事も多くありましたが、私はうまくいかず以下のようなエラー画面になりました。
Laravelに必要なDBのテーブルが存在していないことが原因のようです。
migrationを実行してテーブルを作成する必要があります。
まずは起動しているサーバーにアクセスします。
「./vendor/bin/sail up」で起動している場合は、新しくコマンドを立ち上げて以下コマンドを実行します。
./vendor/bin/sail shell
すると以下のようなディレクトリに移動します。
sail@e5c80f387070:/var/www/html$
これでサーバーにアクセスできました。
続いてmigrationを実行します。
php artisan migrate
以下のような表示になればOKです!
sail@e5c80f387070:/var/www/html$ php artisan migrate
INFO Preparing database.
Creating migration table ........................................................................................................... 61.74ms DONE
INFO Running migrations.
0001_01_01_000000_create_users_table .............................................................................................. 197.47ms DONE
0001_01_01_000001_create_cache_table ............................................................................................... 63.85ms DONE
0001_01_01_000002_create_jobs_table ............................................................................................... 138.11ms DONE
sail@e5c80f387070:/var/www/html$
もう一度「http://localhost/」にアクセスします。
正常に表示されるようになりました!
これでLaravelの環境が出来上がりました。
コマンドだけで作成できるのは便利すぎます。
エンジニアにおすすめ書籍
エンジニアになりたて、これから勉強を深めていきたいという方におすすめの書籍はこちら!
便利なBashエイリアス設定
ここからは便利なBashエイリアス設定を紹介します。
Bashエイリアスを設定することで、「./vendor/bin/sail up」のように毎回打つ手間を省くこともできます。
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
こうすることで、「sail up」とするだけで起動ができます。
便利ですのでぜひお試しください。
sailのよく使うコマンド
ここからはsailのよく使うコマンドを紹介します。
エイリアス設定をしている前提で進めます。
(していない方は「vendor/bin/sail」で実行してください)
sail起動
開発環境を起動させたい場合は以下コマンドを実行します。
sail up
バックグラウンドで起動させたい場合は以下。
sail up -d
ターミナルを新規に立ち上げる必要がなくなるのでこちらの方がおすすめです。
sail停止
停止させたい場合は以下を実行します。
sail stop
さらに、コンテナ・ネットワークの削除をしたい場合は以下。
sail down
アプリケーションコンテナにログイン(サーバーログイン)
アプリケーションのコンテナにログインしたい場合は、以下です。
sail shell
migrationやseederの実行などはこのコマンドを実行してログインした状態で、「php artisan ~」とすることで行えます。
mysqlログイン
mysqlへのログインは以下です。
sail mysql
これでmysqlにログイン可能です。
データベースの情報を確認したい場合はこのコマンドでmysqlログインできます。
sailでLaravelの開発環境を簡単に作成しよう
いかがだったでしょうか。
特に駆け出しの際は、環境構築に時間が取られがちです。
環境構築に時間をかけて苦戦するよりも、まずは楽しくアプリの実装をする方が継続できると思います。
sailを使って簡単に環境構築をしてLaravelを動かせるようになりましょう。