【Laravelの環境構築】プロジェクト(Laravel用)を作成しようとコマンドを実行したら作成出来ず...

## はじめに
以前、Laravelの環境構築に失敗し若干トラウマのようになっていたのですが(笑)
今回改めてチャレンジし、無事に完了することが出来ました！
全く同じ事象のエラーにぶつかる事は少ないかもしれないですが、
これから「Laravelを使って開発を進めていきたい」という方に向けて
少しでも参考になればと思います。

### 【 構築前の環境 】
・ OS : macOS Monterey バージョン12.4
・ PHP : 7.4.30

### 【 構築後の環境 】
・ OS : macOS Monterey バージョン12.4
・ PHP : 8.1.8
・ Laravel : 9.21.0

### 【 前提条件 ： 必須項目 】
#### ・ MAMPのインストール
https://www.mamp.info/en/downloads/
まだインストールされていないという方は、まずこちらの対応からお願いします。
こちらは簡単に言うと、ローカル環境で開発をする上で必要なサーバ(WEBサーバやDBサーバ等)
の役割をまとめて担ってくれるようなソフトウェアです。
不安な方は、「MAMP　インストール」と検索していただければ問題ないかと思いますが、
一応参考になりそうな丁寧に記載していただいている記事も以下に載せておきます！
https://www.webdesignleaves.com/pr/plugins/mamp_installation.html

#### ・ homebrewのインストール
https://brew.sh/index_ja
※homebrewを使用したことがなく不安な方は、とても丁寧に説明が記載されている
記事を見つけましたので、下記リンク先の内容をご参考に進めてみて下さい。
 → https://qiita.com/zaburo/items/29fe23c1ceb6056109fd

#### ・ Composerのダウンロード
https://getcomposer.org/download/
※ターミナルにてこちらを実施しないと、そもそもComposerコマンドを実行出来ない
ということでエラーが返ってきます。
具体的には、以下を実行すれば大丈夫です。
```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '070854512ef404f16bac87071a6db9fd9721da1684cd4589b1196c3faf71b9a2682e2311b36a5079825e155ac7ce150d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
```
それでもエラーが返ってくると言う方は、以下の記事も参考にしてみて下さい！
https://qiita.com/ksato08/items/5a8f10bb42f8bfcc1432

#### ・ Docker Desktopのインストール
https://www.docker.com/products/docker-desktop/

### ■ 起きた事情 
・ Laravelディレクトリ配下で、以下のコマンド実行時(プロジェクト作成時)にエラー
・ コマンドを実行したディレクトリ　→　/Applications/MAMP/htdocs/laravel
```
 composer create-project laravel/laravel:^9.0 {任意のプロジェクト名} --prefer-dist
```
### ■ 原因
以前使用していた、Dockerのデータが破損していたためだと思われる。
(エラー内容のキャプチャが取れておらず申し訳ありませんが、
そのようなエラーログが吐かれていました。。)
### ■ 対応方法
Dockerアプリの削除　→　再インストール →　インストールしたDockerを起動

ついでにdockerイメージの作成やコンテナの作成・起動・接続方法まで
知っていると今後に役に立つ事も多いため、余裕があり気になる方は
以下のリンク先から確認し試してみて下さい! (とてもわかりやすい記事です!!)
→ https://qiita.com/gahoh/items/92217e0a887bb81e3155

### ■ PHPのバージョンアップ方法(PHP：8.1.8)

・現在のバージョン確認
```
php -v
```
・php8.1のインストール
```
echo 'export PATH="/usr/local/opt/php@8.1/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@8.1/sbin:$PATH"' >> ~/.zshrc
```
・.zshrcを開きバージョン8.1が追記されているか確認
※一度.zshrcを開くと、 ctrl + q 等では抜け出せないため注意!!
・抜け出す方法
esc（コマンドモードに戻る）　→　ZZ（上書き保存し、viを終了）　
参考記事：https://qiita.com/hide/items/5bfe5b322872c61a6896

```
vi ~/.zshrc
```
・パスを反映 (2つ前に実行した"echo"から始まるパス)
```
source ~/.zshrc
```
・再度バージョンを確認 (PHP 8.1〜と出ていればOK!)
```
php -v
```
### ■ Laravelのプロジェクト作成
・再び最初のcomposerコマンドを実行
```
.composer create-project laravel/laravel:^9.0 {任意のプロジェクト名} --prefer-dist
```
長々とログが出力され、何やらいろんなインストールがされていますが、
最後に "Application key set successfully."と表示されていれば成功です!
![20220721-015040.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2659821/998b40d9-fce4-b6d2-e446-08dae392c8c4.png)

### ■ Laravelのサーバを立ち上げて最終チェック

・作成したプロジェクトにcdコマンドで移動し、以下のコマンドを実行
・ コマンドを実行したディレクトリ　→　/Applications/MAMP/htdocs/laravel/{作成したプロジェクト}
```
php artisan serve
```
以下のようなログを確認でき、エラー等がなければサーバの起動が上手くいった証拠です！
![20220721-020340.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2659821/26b5c006-4e65-9dd8-7e69-0d1b13165f4e.png)

それでは早速、以下のリンク先にアクセスしてみましょう!
##### http://localhost:8000/

キャプチャのような画面が表示されていたら、環境構築完了です!!
※ちなみに、このままだとサーバがずっと起動し続けてしまうので、もし停止する場合は
コマンドプロンプトにて、control + c　(macでも同様に)を同時に押して下さい。

![20220721-020807.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2659821/0108ce42-e20f-9dcb-2dcc-5657867ece41.png)

余談ですが、画面右下の部分でも以下のようにバージョンを
確認できるので、是非チェックしてみて下さい！
![20220721-020855.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2659821/3bd08f59-fa5d-4d81-1228-aee4b6eb2c80.png)