Laravel Herdを試してみた【PHP/Laravel環境爆速構築ツール】

# Laravel Herdとは

Herdは、macOS向けの高速で便利なネイティブなLaravelとPHPの開発環境です。Laravelの開発を始めるには、PHP、nginx、そしてdnsmasqなど、必要なすべての要素が含まれています。

さらに、HerdはLaravel Valetの基盤になっているため、Laravel Valetの素晴らしい機能をすべて活用できます。

Valetとは異なり、HerdではHomebrewのインストールが必要ありません。なぜなら、Herdにはあらかじめコンパイルされたバイナリが含まれているからです。そのため、Herdをインストールして実際にPHPを使い始めるまでが非常に高速です。

https://herd.laravel.com/

つまり、これさえダウンロードすればLaravelをすぐに使い始めることができるってわけらしいです。
今回は、Laravel Herdを使ってLaravelのトップページを表示するところまで試してみます。

# 必須条件

- MacOS 12.0([Monterey](https://www.apple.com/by/macos/monterey/))以上

# 手順

## 1. Laravel Herdをダウンロード

### a. Webサイトにアクセス

以下のWebサイトにアクセスしてください。

https://herd.laravel.com/

### b. ダウンロードリンクをクリック

TOPページ左下にある【Download for macOS】をクリックしてください。
すぐに、Laravel Herdのダウンロードが始まります。

![スクリーンショット 2023-07-20 11.35.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/1ddaa9ff-0428-b34e-553d-2225ceccc773.png)

## 2. Laravel Herd起動

### a. ダウンロードしたファイルを開く

先ほど、ダウンロードしたファイルを開いてください。
下の画像のような表示が出てくるので、左のHerdアイコンを右のApplicationsフォルダにドラッグ&ドロップしてください。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/5d4de236-28b5-9599-a168-f7191ee52475.png">

### b. Laravel Herdを起動させる

Applicationsフォルダ内にあるLaravel Herdのアイコンをクリックして起動してください。
以下のような警告が出ると思いますが、【開く】を選択してOKです。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/ae9bbbc7-86a9-1187-9976-7f760519318a.png">

警告を超えると、以下のようなWelcomeページが表示されます。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/e23a21a6-cb1d-a1f1-7d98-3c60da846c6e.png">

## 3. 環境構築

それでは、Welcomeページ内の【Let's get started】ボタンを押して、環境構築を始めていきましょう。

### a. osascriptの変更を許可

以下のようなモーダルが出てくるので、TouchIDまたはパスワードを使用して許可してあげてください。

ちなみに、osascriptとは、AppleScriptをターミナルで動かすために使用するものだそうです。

https://support.apple.com/ja-jp/guide/terminal/trml1003/mac


<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/edf8de19-59fe-0d3a-4916-198c6ebe5d49.png">

osascriptの変更を許可すると、次のような画面が出てきます。

![スクリーンショット 2023-07-20 11.52.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/f645ff66-4801-b4ad-5470-d687f8a2c48e.png)

### b. Herd自動起動設定

画面内に `Automatically launch Herd on system startup`というチェックボックスがあります。
こちらは、PC起動時にHerdを自動的に起動するかどうかを選択するチェックボックスです。
チェックをつければ、PC起動時に自動でHerdが起動するようになります。
お好みで選択してください。

選択後は、【Let's get started】ボタンを押してください。
以上で、環境構築終了です。

##### 爆速ですねぇ。。。

### c. PHPがインストールされているかチェック

ターミナルを開いて、以下のコマンドを入力してください。

```bash
php --version
```

以下のような表示が出てくればOKです。

![スクリーンショット 2023-07-20 12.06.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/b4cab88d-0e81-54e7-84c6-e653f383cb1a.png)

---

`which`コマンドを使用すると、そのPHPコマンドがどこから呼び出されているかわかります。

```bash
which php
```

以下のような表示が出れば、Laravel HerdのPHP環境を利用することができています。

```
/Users/wadakatu/Library/Application Support/Herd/bin//php
```

## 4. Laravelインストール & 起動

PHP環境は整ったので、早速Laravelをインストールして起動していきましょう。

### a. Herdディレクトリに移動

```
cd ~/Herd
```

### b. Laravelインストール

Laravelのインストール方法には、以下の2種類あります。
どちらを選んでも同じなので、お好きなコマンドをターミナルに入力してください。

#### Laravel Installer

```bash
laravel new example-app
```

#### Composer

```bash
composer create-project laravel/laravel example-app
```

コマンド入力後、以下のような表示が出れば、OKです。

![スクリーンショット 2023-07-20 12.20.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/d6612009-bf5c-41d3-65c3-a9092b0db437.png)

### c. 作成したLaravelアプリケーションにアクセス

これで、Laravelのインストールも完了です。
以下のURLにアクセスしてみましょう。

```
http://example-app.test
```

LaravelのTOPページが表示されればOKです。

![スクリーンショット 2023-07-20 12.21.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/9a48acd6-f0eb-cb6c-4f96-e37a856e9994.png)

## トラブルシューティング

### 404ページが表示される

![スクリーンショット 2023-07-20 12.26.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/838340/640fb780-e23b-cb92-5751-f3f0cf3f2ba9.png)

404ページが表示される原因として考えられることは以下２つです。

#### 1. Laravel Herdが管理しているディレクトリ内にLaravelアプリケーションがインストールされていない

以下のコマンドを入力して、Laravelアプリケーションのファイルが存在するか確認しましょう。

```
ls ~/Herd
```

#### 2. URL名が間違っている

Laravel Herdで管理しているサイトには、`http://{Laravelアプリケーション名}.test`でアクセスする必要があります。

以下のコマンドでLaravelをインストールした場合、URLは`http://example-app.test`になります。
```
laravel new example-app

or

composer create-project laravel/laravel example-app
```

## あとがき

Dockerとか一切使わずにLaravelが触れるの便利ですねえ。。
皆さんも是非使ってみてください！！
もし、疑問点やうまくいかない点などあれば、コメント欄に質問をお願いいたします。