はじめに
このドキュメントは、Laravel初心者の方が、個人開発の第一歩として独力で「ローカルに開発環境を作ること」をゴールに定め書いています。
ゴールの具体的な状態
- ローカルからブラウザにて
localhost
にアクセスすると、Laravelのデモ画面が表示できる - デバックモードが有効である
- コードがgithub上にも存在する
対象環境
今回はMacに絞って話を進めます。
インストールするソフトウェア・パッケージ
MacのローカルのPHPのバージョンは最新にします。プロジェクト次第では複数のPHPのバージョンを扱えるようphpenvの導入も検討すべきですが、一旦今回はシンプルに最新化のみ行います。
また、最終的にIaaSに環境作って公開することになるので、ローカルもそれに近い環境が望ましいと考えます。また自分自身にとっても馴染みがあると言う理由でdockerを用いることにします。その場合Laravel公式のlaradockを使うのが一般的ですが、shipping-docker/vesselの方がdockerそのものを意識せずに済むため、今回はそちらを使用することにします。
LaravelはLTS版(サポート期間が長期のバージョン)であるLaravel6.xを使用します。prestissimoは、日本からcomposerを使ってパッケージをインストールすると遅いため、その解消を目的として導入しています。なぜ「日本から」だと遅くなるかを知りたい場合は、こちらの資料を読んでみてください。また、デバックできないと開発しづらいのでdebugbarもインストールします。今回はAPI開発は一旦スコープ外と考えているので、itsgoingd/clockworkは無し。
インストールするソフトウェア
- PHP7.4
- Docker for Mac
- Composer 1.x
インストールするパッケージ
- Laravel6.x
- hirak/prestissimo
- shipping-docker/vessel
- barryvdh/laravel-debugbar
導入手順
PHPのアップデート
1. homebrewで最新のPHPをインストールする
brew install php@7.4
2. パスを通す
echo 'exportPATH="/usr/local/opt/php@7.4/bin:$PATH"'>>~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.bash_profile
3. バージョンを確認する
7.4になっているかどうか
php -v
Docker for Macのインストール
Composerのインストール
1. Composerをダウンロードする
cd ~
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
2. Composerファイルの安全性をチェックする
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
3. Composerをインストールする
php composer-setup.php
php -r "unlink('composer-setup.php');"
4. Globalで使用できるようにする
mv composer.phar /usr/local/bin/composer
hirak/prestissimoのインストール
後続のLaravelとvesselのインストールをスムーズに行うため、このタイミングでインストールしておきます。
composer global require hirak/prestissimo
Laravel6.xのインストール
1. バージョンを指定してLaravelをインストールする
最新のLaravelのバージョンは7.xなので、バージョンを指定してインストールしないと6.xをインストールできない。このため下記のようにします。project名は任意。ローカル開発環境では複数のプロジェクトを扱うことも多いため、 projects
のような親ディレクトリを作ってその中でインストールすることがお勧めです。
mkdir projects
cd projects
composer create-project "laravel/laravel=6.*" project名
2. Laravelのバージョンを確認する
cd project名
php artisan --version
vesselをインストール
1. composerを使ってインストールする
composer require shipping-docker/vessel --dev
2. vesselを初期化する
php artisan vendor:publish --provider="Vessel\VesselServiceProvider"
bash vessel init
3. vesselを起動する
./vessel start
4. localhostにアクセスする
ブラウザのURLに localhost
を入力し、下記の画面が表示されることを確認します。
その他のパッケージのインストール
1. vesselの環境を通してインストールする
./vessel comp require hirak/prestissimo
./vessel comp require barryvdh/laravel-debugbar --dev
2. localhostにアクセスする
ブラウザのURLに localhost
を入力し、下記のように画面下にdebugbarが表示されることを確認します。
githubにコードを置く
今回は事前にgithub上に空のリポジトリ(リモートリポジトリ)を用意しているものとします。また、リポジトリ名は先のプロジェクト名と同じものとします。
1. gitを初期化する
git init
2. ローカルリポジトリにコミットする
git add -A .
git commit -m 'first commit'
3. リモートリポジトリのパスをコピーする
4. リモートリポジトリにプッシュする
git remote add origin リモートリポジトリのパス
git push origin master