🦓

[Mac]Laravel開発環境を構築する

2023/10/12に公開

はじめに

Mac上にHomebrewを使ってLaravelの開発環境を構築していきます。
https://laravel.com/docs/10.x#your-first-laravel-project

環境

PHP 8.1
Composer 2.6.5
Laravel 10.2.6
Homebrew

tl;dr

  1. phpをインストールする
  2. Composerをインストールする
  3. 方法1:Composerを使ってLaravelを立ち上げる
  4. 方法2:Sailを使ってLaravelを立ち上げる(Docker)
  5. 方法3:Laravel Valetを使う
  6. 方法4:Laravel Herdを使う

phpをインストールする

Homebrewを使ってPHPをインストールします。
インストール完了後指示通りにPATHにphpを追加します。

# インストール可能のバージョンを確認する
➜  ~ brew search php
==> Formulae
brew-php-switcher   php@7.4             phpmd               pcp
php                 php@8.0             phpmyadmin          pop
php-code-sniffer    php@8.1             phpstan
php-cs-fixer        phpbrew             phpunit
php-cs-fixer@2      phplint             pup
# インストール
➜  ~ brew install php@8.1
...

If you need to have php@8.1 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/php@8.1/bin:$PATH"' >> ~/.zshrc
  echo 'export PATH="/usr/local/opt/php@8.1/sbin:$PATH"' >> ~/.zshrc

For compilers to find php@8.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/php@8.1/lib"
  export CPPFLAGS="-I/usr/local/opt/php@8.1/include"

shellを再起動して変更を反映させます。shellに合わせてコマンドを打ちます。

source ~/.zshrc

PHPをインストールされたことを確認します。

➜  ~ php --version
PHP 8.1.24 (cli) (built: Sep 29 2023 01:35:52) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.24, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.24, Copyright (c), by Zend Technologies
➜  ~ which php
/usr/local/opt/php@8.1/bin/php

https://formulae.brew.sh/formula/php

Composerをインストールする

Composerは、ライブラリーの依存性管理ツールです。

➜  ~ brew install composer
➜  ~ composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.6.5 2023-10-06 10:11:52
# PATHに追加する
➜  ~ export PATH=$PATH:~/.composer/vendor/bin

https://getcomposer.org/download/

Composerを使ってLaravelを立ち上げる

example-appディレクトリ内にLaravelプロジェクトを作成します。

➜  ~ composer create-project laravel/laravel example-app
Creating a "laravel/laravel" project at "./example-app"
Installing laravel/laravel (v10.2.6)
  - Downloading laravel/laravel (v10.2.6)
  - Installing laravel/laravel (v10.2.6): Extracting archive
...
➜  ~ cd example-app
➜  example-app php artisan serve

   INFO  Server running on [http://127.0.0.1:8000].  

  Press Ctrl+C to stop the server

http://127.0.0.1:8000にアクセスし、こちらの画面を表示されたら大丈夫です。

Sailを使ってLaravelを立ち上げる(Docker)

Dockerを使いたい場合、Sailを使うことができます。
SailはLaravelのデフォルトのDocker開発環境を操作するためのコマンドラインインターフェイスです。
sail-appディレクトリ内にLaravelを立ち上げていきます。

➜  ~ curl -s "https://laravel.build/sail-app" | bash
latest: Pulling from laravelsail/php82-composer
...
    Creating a "laravel/laravel" project at "./sail-app"
    Installing laravel/laravel (v10.2.6)
      - Downloading laravel/laravel (v10.2.6)
      - Installing laravel/laravel (v10.2.6): Extracting archive
    Created project in /opt/sail-app
...
➜  sail-app ls
README.md          composer.lock      phpunit.xml        tests
app                config             public             vendor
artisan            database           resources          vite.config.js
bootstrap          docker-compose.yml routes
composer.json      package.json       storage
➜  sail-app ./vendor/bin/sail up -d
 ✔ Network sail-app_sail              Created                              0.0s 
 ✔ Container sail-app-mailpit-1       St...                                0.9s 
 ✔ Container sail-app-selenium-1      S...                                 0.7s 
 ✔ Container sail-app-mysql-1         Star...                              0.9s 
 ✔ Container sail-app-meilisearch-1   Started                              0.7s 
 ⠿ Container sail-app-redis-1         Star...                             11.2s 
 ✔ Container sail-app-laravel.test-1  Created                              0.1s 

http://localhost/にアクセスし、プロジェクトが立ち上げたことを確認します。

https://laravel.com/docs/10.x/sail

Laravel Valet(Macのみ)

Laravel Valetは、Mac向けのローカル開発環境ツールです。
インストールするとまとめてphpとLaravelの開発環境を構築することもできます。
nginxやdnsmasqも一緒にインストールされます。

インストール

composer global require laravel/valet
Running composer update laravel/valet
Using version ^4.5 for laravel/valet

Valetをインストールする

➜  valet install
Password:

Installing nginx...
[nginx] is not installed, installing it now via Brew... 🍻
Installing nginx configuration...
Installing nginx directory...

Installing and configuring phpfpm...
Updating PHP configuration for php@8.2...
Restarting php...

Installing dnsmasq...
[dnsmasq] is not installed, installing it now via Brew... 🍻
Updating Dnsmasq configuration...
Restarting dnsmasq...
Valet is configured to serve for TLD [.test]

Restarting nginx...


Valet installed successfully!

Laravelインストーラーをインストールする

composer global require laravel/installer
...
Using version ^5.1 for laravel/installer

新規プロジェクトを作成する

➜  laravel new PROJECT_NAME
Creating a "laravel/laravel" project at "./laravel-app"
Installing laravel/laravel (v10.2.6)
  - Installing laravel/laravel (v10.2.6): Extracting archive
...

現在のディレクトリをアプリのルートディレクトリにする

➜  valet park
Password:
This directory has been added to Valet's paths.

アクセス

➜  laravel-app git:(main) valet link
A [laravel-app] symbolic link has been created in [/Users/***/.config/valet/Sites/laravel-app].

http://larave-app.testにアクセスします。初期画面を表示されることを確認します。

立ち上げたプロジェクトを見る

valet parked

urlを.testから.devに変える

valet tld dev

https://laravel.com/docs/10.x/valet
https://gist.github.com/bradtraversy/b58f74cd863a465068eaeaae1544d9be

Laravel Herd(Macのみ)

HerdはLaravel Valetの基盤になっていて、ネイティブなLaravelとPHPの開発環境を構築できるツールです。
Valetとの違いは、Homebrewのインストールが不要です。
https://herd.laravel.com/

終わりに

Mac上のLaravelの開発環境を構築する方法をまとめてみました。

Discussion