Laravel Sailでさくっとプロジェクト作成する手順をまとめたのですが、そのプロジェクトをGitHubリポジトリにpush後、cloneして利用するのに少し難儀したので、手順をまとめました。
前提
こちらの記事でLaravelプロジェクトを作成済み。
手順
GitHubでリポジトリ作成
公式のドキュメントがわかりやすいです。
GitHubリポジトリにpush
Laravelプロジェクトのディレクトリでローカルリポジトリを作成し、GitHubの(リモート)リポジトリにpushします。
実際に作成したリポジトリが以下となります。
kai-kou/laravel-sail-sample-projects: Sample project made with Laravel Sail and Laravel Breeze.
https://github.com/kai-kou/laravel-sail-sample-projects
> cd <Laravelプロジェクトのディレクトリ>
> git init
# masterブランチの名前変更(必要であれば)
> git branch -M main
> git add .
> git commit -m “<コミットメッセージ>”
> git remote add origin <GitHubのリポジトリURL(HTTPS or SSH)>
> git push -u origin main
Laravel Sailでプロジェクト作成すると.gitignore
が含まれており、除外すべきファイル・ディレクトリも設定してくれているので、助かります。
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.phpunit.result.cache
docker-compose.override.yml
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
GitHubリポジトリをクローンして利用する
GitHubリポジトリからクローンしてプロジェクトが利用できるようにします。ここでは私が作成したリポジトリを利用します。
GitHubリポジトリをクローン
> cd <リポジトリをcloneするディレクトリ>
> git clone https://github.com/kai-kou/laravel-sail-sample-projects.git
> cd laravel-sail-sample-projects
プロジェクトのセットアップ
クローンしたリポジトリにはvendor
ディレクトリや.env
ファイルが含まれていないので用意します。
環境変数の設定
> cp .env.example .env
今回のGitHubリポジトリに含まれる.env.example
はすでに設定変更済みですが、以下の設定を変更する必要があります。
APP_URL=http://localhost
DB_HOST=mysql
MEMCACHED_HOST=memcached
REDIS_HOST=redis
MAIL_FROM_ADDRESS=hoge@example.com
PHPのパッケージのインストール
vendor
ディレクトリはリポジトリに含まれていないので、パッケージをインストールします。手元のPCにPHPやComposerがインストールされていればそれを利用することもできますが、ここでは、Laravel Sailのセットアップスクリプトでも利用されているDockerイメージを利用してインストールします。
# パッケージのインストール
> docker run --rm \
-v $(pwd):/opt \
-w /opt \
laravelsail/php80-composer:latest \
bash -c "composer install"
コマンドを叩くのが若干面倒なので、セットアップ用のスクリプトを用意しておくと便利かと思います。
Dockerコンテナの起動
パッケージがインストールできたらsail
コマンドが利用できるようになるので、Dockerコンテナの起動とLaravelのAPP_KEY
を生成します。
# Dockerコンテナの起動
./vendor/bin/sail up -d
# LaravelのAPP_KEY生成
./vendor/bin/sail artisan key:generate
APP_KEY
は.env
に設定されます。設定されていないと以下のようにNo application encryption key has been specified.
エラーとなるのでご注意ください。
Node.jsのパッケージをインストール
今回のプロジェクトではLaravel Breezeを利用しているので、Node.jsのパッケージもインストールします。
> ./vendor/bin/sail npm install
> ./vendor/bin/sail npm run dev
マイグレーション実行
マイグレーションを実行して必要となるテーブルを作成します。
> ./vendor/bin/sail artisan migrate
動作確認
以下のURLが表示されたらセットアップ完了です。
やったぜ
参考
Laravel SailとLaravel Breezeでさくっとログイン機能を実装する - Qiita
https://qiita.com/kai_kou/items/12c060a8b5e6eb409da8