Laravel8 / Laravel9 をMacにインストールする方法を、パスの通し方、エラー対策も含めて、分かりやすく解説します。
流れとしては、Homebrew, Composer, MAMP、Node.js をいれた後に、Laravelを入れていきましょう。
実はわたしはWindowsユーザーなので、普段、あまりMacを使いません。先日MacにLaravelを入れねばならず、慣れない環境で、ワタワタしました^^;
経験を元に、MacにLaravelをいれる方法を分かりやすく解説していきますね。
動作検証用にMacは所有しています。
バージョンは、macOS Catalina 10.15.7 です。
今回の記事は、このMacを使った結果をご紹介しています。
Homebrewのインストール
まずは、macOS等で動作するパッケージ管理システムのHomebrewをインストールします。
すでにインストール済みの場合は、飛ばしてください。
インストール済みかどうかは、ターミナルを起動して、下記を実行すればOKです。
1 |
homebrew -v |
インストールされていれば、バージョン情報が表示されます。
入っていない場合には、ターミナルで、公式サイトにある下記コマンドを実行してください。
ちなみにhome-brewは自家製ビールの意味もあります。
なので、こんなサイトになっています。思わず休憩して、一杯飲みたくなっちゃいますよね。
【Homebrew公式サイト】
【公式サイト上のコマンド】
1 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
composer インストール
次にPHPのパッケージ管理システムであるcomposerをインストールします。
こちらも、すでにインストール済みの場合は、飛ばしてください。
まずは、ターミナルで、下記コマンドを実行してください。HomebrewでComposerが提供されていることを確認します。
1 |
brew search composer |
【コマンド実行後】
次にcomposerをインストールします。
1 |
brew install composer |
MAMPのインストール
次に、MAMPをインストールします。
MAMPは、Apache(アパッチ)、MySQL、PHPをまとめてインストールできる便利なツールです。
公式サイトで、ご自身のmacOS環境にあったものをダウンロードしてください。
ダウンロード後、インストーラーをクリックしてインストールをすすめていきます。
インストール後、アプリケーション/MAMP/MAMP.app(無料のMAMP)を起動します。
ご利用になるLaravelに合ったPHPのバージョンを設定しておきます。Laravel9の場合には、PHP8以上が必要です。PHP versionで、PHP8以上を選択しておきましょう。
【MAMP起動後、PHPバージョン選択】
Laravel8の場合は、PHP7.3以上で大丈夫です。
なおアプリケーション/MAMP PRO.appを起動すると、有料版を起動できます。有料版にご興味あれば、こちらを使ってください。14日間無料で試せます。
Node.jsのインストール
次にNode.jsも入れます。Node.jsはサーバーサイドで動くJavaScriptです。
公式サイトからインストーラーをダウンロードしてもOKですが、アップグレードの手間がかかったりします。
そこで、今回はNode.jsのバージョン管理ツールであるnodebrewを使ってNode.jsをいれていきます。
① 公式のGitHubページにある下記コマンドを実行します。
1 |
curl -L git.io/nodebrew | perl - setup |
② インストール後、パスを通します。
1 |
export PATH=$HOME/.nodebrew/current/bin:$PATH |
*「コマンドでパスを通すのが分かりにくい」と思ったら、ユーザー/ユーザー名/.bash_profileファイルをVisual Studio Code などで開いて、下記コードを追加してください。
1 |
export PATH=$HOME/.nodebrew/current/bin:$PATH |
③ コード追加後、ターミナルを開きなおすか、ターミナル上で下記を実行して設定を反映させます。
1 |
source ~/.bash_profile |
Visual Studio Codeも、Laravelを使うときに役立ちます。
もしまだ入れていなければ、入れておくと便利ですよ。
Laravelプロジェクトのインストール
準備ができたところで、Laravelプロジェクトを作成します。
ターミナルでcdコマンドを使って、アプリケーション/MAMP/htdocsに移動します。ここに laravel フォルダを作っておきます。この中に、新しいプロジェクト【members】を作ります。
1 |
composer create-project --prefer-dist laravel/laravel members |
プロジェクトの名前は、お好みで変えてくださいね。
なおcdコマンドの使い方はこちらをご覧ください。
なお、Laravel10版をいれる場合は、下記のようにバージョンを指定しておきます。
1 |
composer create-project --prefer-dist "laravel/laravel=10.*" members |
このままつつながなくプロジェクトを作れれば良いのですが、エラーが出る場合もあります。
エラー対策を2つ紹介しますね。
Allowed memory sizeエラーが出る
インストール中に、下記のエラーが出た場合の対策を紹介します。これは、メモリが足りないことが原因です。
たとえばMAMPでPHP8.0.8を指定している場合、
アプリケーション/MAMP/bin/php/php8.0.8/conf/php.iniファイル
を開いてください。
”memory_limit” でファイル内を検索します。
元からあったmemory_limitの記述の先頭にセミコロンを入れて無効にします。その下に、新たにmemory_limit = 2000M を加えます。
1 2 |
;memory_limit = 128M memory_limit = 2000M |
ファイル保存後、再度、Laravelのプロジェクト作成を試してください。
もし設定が反映されず同じエラーがでた場合は、実行されるPHPのバージョンが、想定と異なっている可能性があります。その場合は、下記の項目をご覧ください。
PHPのバージョンエラーが出る
インストール中に、phpのバージョン関係のエラーが出た場合の対策を紹介します。
Problem 1
– △△△ requires php ^7.4 || ^8.0 -> your PHP version (7.3.16) does not satisfy that requirement.
これは、PHPのバージョンが低すぎることが原因です。
下記を実行すると、現在実行されているPHPのバージョンを確認できます。
1 |
php -v |
おそらくMAMPで設定したPHPと異なるバージョンが表示されるかと思います。
ちなみに、which phpコマンドを実行すると、今実行しているPHPのパスを表示できます。
MAMPで設定したPHPバージョンは、ブラウザからLaravelで作成したウェブアプリにアクセスしたときに使用されるPHPのバージョンです。
今回のように、コマンドラインから composer や php artisan のコマンドを入力したときに使用されるPHPのバージョンは、別に設定しなければいけません。
たとえば今回、Laravel9を使うために、MAMPではPHP8.08を設定しているとします。
その場合のPHPは、アプリケーション/MAMP/bin/php/php8.0.8に入っています。
この場所にパスを通して、PHP8が実行されるようにしてあげましょう。
ユーザー/ユーザー名/.bash_profileファイルをVisual Studio Codeなどで開いて、下記コードを追加してください。
1 |
export PATH=/Applications/MAMP/bin/php/php8.0.8/bin:$PATH |
コード追加後、ターミナルを開きなおすか、ターミナル上で下記を実行して設定を反映させます。
1 |
source ~/.bash_profile |
再び、PHPのバージョンを確認します。
1 |
php -v |
無事にPHP8.08が表示されていれば、PHPのバージョンが切り替わっています。
再度、Laravelプロジェクトの作成を実行してみてください。
Laravelのホーム画面の表示
無事Laravelのプロジェクトを作成したら、ブラウザにページを表示させてみましょう。
ターミナルでcdコマンドを使い、作成したプロジェクトの中に移動します。下記を実行して、サーバーを立ち上げます。
1 |
php artisan serve |
ブラウザで http://localhost:8000/ を開くと、Laravelのトップページが表示されます。
なお、上記では右上にLogin, Registerメニューが表示されています。ログイン・登録メニューを搭載するには、認証用パッケージを入れる必要があります。
その前にまず、データベースとの連携をしておきましょう。
データベースとの連携
MAMPを立ち上げ、startボタンをクリックします。
次に、その横の Webstartをクリックします。ブラウザにMAMPが出てきます。
ページ内の MySQL の設定を確認します。
Laravelで作成したプロジェクトをVS Code(Visual Studio Code)等で開きます。上記の設定に合わせて、.envファイル次データベースに関する項目を、次のように書き替えます。
【.envファイル】
1 2 3 4 5 6 7 |
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=8889 DB_DATABASE=members DB_USERNAME=root DB_PASSWORD=root DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock |
DB_DATABASEはデータベースの名前となりますが、ここはお好きなものに変更してください。またDB_SOCKETはデフォルトではない項目となります。新たに追加してください。
編集・保存後、プロジェクトのある場所で、下記コマンドを実行します。
1 |
php artisan migrate |
これにより、データベースにテーブルを作成することができます。
Visual Studio Codeを起動している場合は、右下のターミナルでコマンドを実行できます。
作成したデータベースは、MAMP画面のTools/phpMyAdminをクリックすると、表示できます。
認証機能の搭載
次に認証機能を搭載していきます。
認証機能を入れると、ユーザー登録やログイン機能を手軽につけることができます。
Laravel認証用パッケージは、Laravel/ui、Breeze、Jetstreamがあります。最も一般的なものは、Laravel Breezeとなります。
【ユーザー登録画面例 Breeze(Tailwind CSS使用)】
認証パッケージの入れ方や、日本語化など初期設定の方法は、下記記事の【初心者のためのLaravel入門:認証設定もしておこう】を参考にしてくださいね。
さいごに
以上、MacにLaravelを入れる方法を解説しました。
最後にひとつ、ご留意点です。
今回の記事では、MAMPは、データベース(mysql)と、データベースの状態を表示するためのphpMyAdmin を表示するために使っています。
これだけではなく、MAMPのウェブサーバーでLaravelを動かすこともできます。これによって、より自由に、複数のLaravelアプリを別のサブドメインで表示するなどができます。ただ その代わり、いろいろな設定が必要になります。
そのため、今回はLaravelアプリを動かすために、php artisan serve を使いました。
機会あれば、MAMPのウェブサーバーもお試しください。
なおLaravelを入れた後、
Laravelの基本の使い方を知りたい。
Webアプリを作ってみたい!
と思ったら、学習サイト【Laravelの教科書】をご用意しているので、ご活用ください。Laravelの基本の使い方を学びながら、実際にフォーラムサイトを作っていく内容です。
【作成するフォーラムサイトの画面例】
基礎編は無料でプレゼント中。
ご興味あれば、下記の案内ページを見てくださいね。