スポンサーリンク

Laravel初心者必見!既存プロジェクトをMacで構築する方法まとめ

ターミナルとエラーとLaravelと 便利ツール・サービス

PHPでスクラッチやWordPressは触ってきたけれど、Laravelだけは「難しそう…」とスルーしていました。ですが、とある案件でLaravelを使うことになり、いよいよ学習をスタート!

まず最初に取り組んだのが、チームメンバーが用意してくれた既存のLaravelプロジェクトを、Macのローカル環境で構築することでした。

この記事では、その流れを初心者目線でエラー対応も含めてじっくり解説していきます。新規プロジェクトの作成ではなく、「手元にあるLaravelをどう構築するか?」にフォーカスしています。


Laravelを始める前に知っておきたいこと

????

Laravelって、聞いたことはあるけど「黒い画面を使う」とか「英語のエラーが出て止まる」とか、正直よくわからないっていうイメージがありませんか?

私自身、最初にLaravelを触ったときはまさにそんな感じでした。ネットの解説も、ターミナルのコマンドも、よくわからないまま手探りで…。何度もつまずいて、そのたびに検索して、少しずつ前に進んでいます。

ここでは、私のようにLaravelに苦手意識がある人や、これから始める人がちょっと気持ちをラクにできるように、最初に知っておくと安心なことをやさしくまとめてみました。

Laravelってどんなもの?

Laravelは、Webアプリを作るための「道具箱」みたいなものです。
たとえば、ログイン機能とか、問い合わせフォームとか、自分で全部つくるのは大変なものが、Laravelを使うとスッと用意できたりします。

私も最初は「なにそれ難しそう…」と思ってたけど、よく見るとコマンドで自動で作ってくれたり、「ここをこう書けばOK」というルールがちゃんとあるので、少しずつ安心して使えるようになりました。

Macでできること

私はMacを利用しています。FrankuLのチームメンバーはみんなWindowsなので、Macならではのエラーは解決策を見つけるのが大変💦かと思いきや、ネット上にはMacを使ったLaravel情報も多いので、心配しすぎることはありませんでした。

Macは、ターミナル(黒い画面)を最初から利用できるし、必要なツールも簡単にインストールすることができます。よくわからないままターミナルを開いて、「brew install」とか「php -v」とか打ってみて…。少しずつやれることが増えてきました。

最初は意味がわからなくても、大丈夫!ネットで調べれば、答えは必ず見つかります!

よく出てくる言葉を、ざっくり理解しておきましょう

Laravelに関わると、最初のうちは「PHP?Composer?ターミナル?」といった言葉が出てきて、つまずいてしまうことがあります。でも大丈夫!ここではやさしくイメージだけつかんでみましょう。

  • PHP(ピーエイチピー):Laravelのベースになるプログラミング言語。難しく考えず「Webの中身を動かす言葉」くらいのイメージでOK。
  • Composer(コンポーザー):Laravelに必要なパーツをまとめて管理するお助けツール。足りない部品を一括で入れてくれます。
  • ターミナル:黒い画面でいろいろ命令を出す場所。「Laravelにお願いごとをする窓口」みたいにイメージするといいかも。

ぜんぶ最初から完璧に理解する必要はありません。わからない単語に出会ったら、「へ〜、そういうのがあるんだ〜」と思って通り過ぎて大丈夫です。実際に手を動かす中で、少しずつ「なるほど!」「そういうことね!」が増えていきます

Laravel開発に必要なツール一覧

Laravelでアプリを作るためには、いくつかのツールを用意しておく必要があります。
ここでは、LaravelをMacのローカル環境で構築するために最低限必要なツールをご紹介します。

必要なツールはこの5つ!

今回使用したツールは以下のものです!

  • Mac(開発環境)
  • MAMP(ローカルサーバー)
  • Laravel(PHPフレームワーク)
  • VS Code(Visual Studio Code)(コードを書くエディター)
  • Atom(テキストエディター)

筆者は「Mac」&「MAMP」を使用しています。「Windows」、「XAMPP」などご自身のお持ちのものを利用して大丈夫です。また、「VS Code」のかわりに別のコードエディターや「Atom」ではないテキストエディターをご利用いただいても問題ありません!

今回は、「MAMP」と「Atom」はインストール済みという前提でご紹介していきます。
「VS Code」はインストール方法からご紹介していきますね!

<MAMPのインストールやアップデート方法は以下の記事を参考にしてください!>

<ATOMのインストール方法は以下の記事を参考にしてください>

VS Codeをインストールする手順

VS CodeはMacでもWindowsでも使える、無料で軽快なプログラミング用エディターです。Laravelをはじめ、さまざまな開発に対応しており、初心者にもやさしい操作性が魅力です。

最初に、VS Codeをパソコンにダウンロードして使い始めるまでの手順を、わかりやすく紹介していくね!

VS CodeをPCへダウンロード

1)VS Code(Visual Studio Code)の公式サイトにアクセス

2)自分のPCに合わせて、VS Codeをダウンロード

VS Code
出典元:https://code.visualstudio.com/download

VS CodeをPCへインストール

1)VS Codeを解凍
ZIPファイルをクリックして解凍します

VS Code解凍

2)解凍したVS Codeアプリをアプリケーションに追加

VS Codeアプリケーション

3)Launchpadから選択して利用しましょう!

Launchpad

※VS Codeをご紹介していますが、もちろんMacのターミナルを利用しても大丈夫です!

既存のLaravelプロジェクトをMacで構築する手順

HTMLやCSSで作られた静的なホームページや、簡単なPHPのスクラッチアプリなら、フォルダをコピーしてきてブラウザで開くだけで表示されることが多いですよね。

でも、Laravelはちょっと違います。

Laravelはフレームワークという「仕組みがたくさん詰まった箱」のようなもので、コピーしてきただけでは正しく表示されません。きちんと使えるようにするには、いくつかの準備が必要です。

  • PHPやComposerのバージョンが合っているか確認
  • 必要な依存ファイルのインストール(composer install)
  • 環境設定ファイル(.env)の作成と調整
  • データベースとの接続設定
  • アプリキーの発行やキャッシュのクリア

これらの作業を通して、ようやく「Laravelアプリを自分のMacで動かせる状態」が整います。

さっそく、君のパソコンでLaravelを使えるようにする準備をしてくよ!

今回は作成済みの『laravel_frankul』というファイルと『127_0_0_1.sql』というsqlデータベースを使って説明していきます。

既存フォルダ中身

ローカルディレクトリにLaravelプロジェクトを配置

1)既存プロジェクトのディレクトリを、htdocsディレクトリ内に配置します。ここでは、『laravel_frankul』を利用しています。

(例)/Applications/MAMP/htdocs/laravel_frankul

/Applications/MAMP/htdocs

2)VS Codeのターミナルを利用してファイルの中に移動

ターミナルに移動用のコマンドを入力します。

cd /Applications/MAMP/htdocs/

エラー回避は『+』をクリック↓

MacBook-Air:Desktop [ユーザー名] cd /Application/MAMP/htdocs/
bash: cd: /Application/MAMP/htdocs/: No such file or directory

間違っている部分、わかりますか?正しくは、「Application」ではなく、「Applications」です!
これに気づかず、何度もあれ?あれ??を繰り返してました💦

PHPとComposerのバージョンを確認する

VS Codeのターミナルを使用して、PHPとComposerのバージョン確認を行います。今回のプロジェクトでは、PHPが8.0以上、Composerが2系(2.X.X)以上のバージョンが必要です。

 ※Laravelはプロジェクトごとに適切な環境設定が必要なので、バージョンは必ず確認しましょう。

1)「PHP」のバージョンを確認

ターミナルにPHPのバージョンを確認するコマンドを入力します。

php -v

下のようなコマンド↓が表示されたら成功です!

PHP 8.3.14 (cli) (built: Nov 21 2024 11:13:13) (NTS)
Copyright (c) The PHP Group
Zend Engine.....      (注)数字は環境や時期によって違います

エラー回避は『+』をクリック↓

MacBook-Air:laravel_frankul [ユーザー名]$ php -v
bash: php: command not found

ChatGPT先生のお力を拝借↓

このエラーはターミナルが実行ファイルを見つけられずに起きています。MAMPはシステムにもともと入っているPHPとは別に独自のPHP実行環境を持っています。

解決策:MAMPのPHP実行ファイルを直接指定して実行する

1、MAMPアプリケーションを開き、現在使用しているPHPのバージョンを確認
  ・MAMPアプリのメニューバー「Preferences」をクリック
  ・「PHP」タブを選択して、PHPバージョンを確認

2、VS Codeのターミナルで、確認したPHPバージョンを使ってPHPのバージョンを確認

/Applications/MAMP/bin/php/php[MAMPで選択しているPHPのバージョン]/bin/php

例)MAMPで PHP 8.2.0 を選択している場合
/Applications/MAMP/bin/php/php8.2.0/bin/php -v

3、MAMPが使用しているPHPのバージョンが表示されるはず!

2)「Composer」のバージョンを確認

ターミナルにComposerのバージョンを確認するコマンドを入力します。

composer -V

下のようなコマンド↓が表示されたら成功です!

Composer version 2.1.6 2021-08-19 17:11:08
(注)数字は環境や時期によって違います

エラー回避は『+』をクリック↓

MacBook-Air:laravel_frankul [ユーザー名]$ composer -V
env: php: No such file or directory

ChatGPT先生のお力を拝借↓

このエラーは、ComposerがPHPファイルを見つけられていないことを示しています。ComposerがPHPに依存しているため、PHPが見つからないとComposerも作動しません。

解決策:MAMPのPHPをComposerに認識させる

1、Composerを直接実行する際に、MAMPのPHPを先頭に指定する
MAMPで選択しているPHPバージョンを確認して、Composerのバージョンを確認

/Applications/MAMP/bin/php/php[MAMPで選択しているPHPのバージョン]/bin/php/usr/local/bin/composer -V


例)MAMPで PHP 8.2.0 を選択している場合
/Applications/MAMP/bin/php/php8.2.0/bin/php/usr/local/bin/composer -V

解説:
・ /Applications/MAMP/bin/php/php8.2.0/bin/php →MAMPのPHP実行ファイルへのフルパス
・ /usr/local/bin/composer →Composerの実行ファイル
  - もし /usr/local/bin/composer でもうまくいかない場合は、which composer と入力して、Composerがどこにインストールされているか確認してみてください。

ファイルを探せないエラーが続いてるみたいだね。
そんな君には、ちょこっとアドバイス!

ファイルを探せないエラーが続いている時は、どのPHPをみるのかがわからなくて、迷子になっている状態になっています。

例えば、フルパスの
/Applications/MAMP/bin/php/php8.2.0/bin/php /usr/local/bin/composer -V
なら動くのに、
composer -V
だと『No such file or directory』になってしまう場合があります。

フルパスで作業を進めることもできますが、ちょっと面倒なので、MAMPのPHPを自動的に認識してくれるようにしておきましょう。

えっ!?
教えて、教えて!

"export PATH="/Applications/MAMP/bin/php/php8.3.14/bin:$PATH"

上のコードをターミナルに入力してみて!今開いているターミナルのセッションの間は『php -v 』や『composer -V』と入力するだけでMAMPのPHPが使えるようになるよ!

そうなんだ!ありがとう♪
早速、入力して続きに進んでみる!

「export PATH=〜」→MAMPのPHPを優先的に使うよう、ターミナルに教えてあげる設定です。

Laravelのインストールと起動確認

1)Composer依存関係をインストール

ターミナルにComposerをインストールするためのコマンドを入力します。

composer install
Composer 確認画面

上記の画像のようになれば、ComposerのインストールOKです。

※もし、「composer update」を求められた場合はアップデート用のコマンド↓

composer update 

を実行してください。

2)Laravelがインストールされたか確認

ターミナルにLaravelのバージョンを確認するためのコマンドを入力します。

php artisan -v

下のようなコマンド↓が表示されたら成功です!

Laravel Framework 9.52.16    (注)数字は違う可能性があります

お疲れ様!まずは、君のパソコンでLaravelを使う環境が整ったよ!続けて、ローカル環境にデータベースを設定する方法を見ていこう。

ローカル環境でデータベースを設定する

Laravelでは、データベースとの連携がとても重要です。
ユーザー情報や投稿内容など、アプリで扱う多くのデータはデータベースに保存されます。
ここでは、Macのローカル環境でphpMyAdminを使ってデータベースを作成・既存プロジェクトのデータをインポートし接続する方法を解説します。
「.envファイルって何?」「どこを設定すればいいの?」という方でも大丈夫。ひとつずつ順番に見ていきましょう!

.env ファイルを作成

1).env を作成する

ターミナルにファイルをコピーするためのコマンドを入力します。

cp .env.example .env

.envファイルができているか確認しましょう。

.envファイル

Macではファイルの先頭に「.(ドット)」があると不可視ファイルとなり視ることができません。「command + shift + .」のショートカットキーを使用してファイルが見えるようにします。

エラー回避は『+』をクリック↓

何度、コマンドを入力しても、私は.envファイルを作ることができませんでした。
そこで、強制的に作成!

ファインダー上で『 .env.example』をコピーして、『.env』ファイルを作成しました。
この作成方法でも問題ありませんでした。

phpMyAdmin にデータベースを作成・インポート

1)MAMPを起動する

MAMPの「Start」をクリック

MAMP起動

2)「phpMyAdmin」へアクセス

「Tools」→「phpMyAdmin」をクリック

phpMyAdminにアクセス

3)新規データベースを作成する

phpMyAdminの画面左側、「新規作成」をクリック

新規データベース作成

4)データベースの名前を入力

htdocsに保存しているファイルと同じ名称をオレンジ枠の中に入力し「作成」をクリック

データベース名を入力

↓作成が成功すると画面左側に作成したデータベース名が表示されます。

phpMyAdminデータベース追加確認

5)準備してあるデータベース『127_0_0_1.sql』をインポートします。

「インポート」→「ファイルを選択」からファイルを選ぶ

phpMyAdminデータベースインポート

下にスクロールして「インポート」をクリック

phpMyAdminデータベースインポート

6)インポート完了!

インポート完了

Laravelの設定ファイルを編集して接続

データベースの作成が終わったら、Laravelの設定ファイルに、作成したデータベースを接続します。

1)「.envファイル」のを修正

「.envファイル」をAtom(テキストエディター)で開く

.envファイル

以下の部分をMAMPに合わせて修正します。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
→
↓
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=laravel_flankul
DB_USERNAME=root
DB_PASSWORD=root
DB_PASSWORD=/Applications/MAMP/tmp/mysql/mysql.sock

APP_KEY(アプリケーションキー)を生成する

1)アプリケーションキーを作成するためのコマンドを実行します。

php artisan key:generate

APP_KEYは必須のセキュリティキーで生成しないとLaravelの暗号化関連の機能が動作しません。必ず作成しましょう!

成功すると下↓のようなコマンドが表示されます。

INFO Application key set successfully.

ローカル環境でLaravelが動作するか確認

1)URLを入力して、サイトを確認

http://localhost:8888/laravel_frankul/public/ のように、URLを入力して、サイトが表示されるか確認してみましょう。
※ローカル環境の構築状況によって、「localhost8888」の部分は番号が違う場合があるので、お手元の環境に合わせてご確認ください。

エラー回避は『+』をクリック↓

すんなりサイトにつながらず、下の画面のようなエラーが起きる場合があります。

エラー画面

そんな時は慌てずに、下記の項目を確かめてみましょう。

  • .envファイルに書き間違いがないか?
  • 接続しているURLがあっているか?
  • .envファイルの保存先があっているか?
  • .env.exampleを間違えて修正していないか?

今回、私はこのエラーと2日間も戦いました💦いろんな箇所を修正してみたり、キャッシュをクリアしてみたり。
最終結果、.envファイルをなぜかデスクトップにコピーしていたようで。MAMPアプリケーションの中の.envファイルではなく、デスクトップ上の.envファイルを一生懸命修正していただけでした😭

このときに、試したことを書いておきます。
①URLの確認
②.envファイルの内容の確認
③database.phpの中身を修正
 デフォルトのものだと.envとちがう状態になっているので、これが原因かと思ったため。
→特に関係ありませんでしたが、試してみる価値はあるかも!
④ターミナルでキャッシュクリア
 php artisan config:cache/  php artisan config:clear
→ちょっと修正するたびにキャッシュクリア!
⑤MAMPの再起動
⑥phpバージョンとComposerのバージョンとLaravelのバージョンチェック
  php -v/  composer -v/  php artisan -V
→間違ってないか、起動しているか確認

<最終的に気づいたきっかけ>

いくら頑張っても、まったくWebサイトにつながらず、FrankuLメンバーに助けを求めていました。
そして、MAMPで試してくださった勝亦さん。同じエラーが出たけど「ダメ元で「APP_URL」を「http://127.0.0.1」にしてから、「php artisan config:cache」→「php artisan config:clear」の順でキャッシュクリアしたらデプロイされました!!!」
とのお言葉を!
それを見た、私は、早速試しました。が、やはり接続できず・・・
首を捻りながら、送ってくれた「.envファイル」の中身を確認!

ん????
私の「.envファイルにAPP_KEY」が入っていない💦不思議に思い、もう一度コマンドでKEYを取得するも反映されません。

不思議に思いつつ、もう一度ファイルを開き直そうかと『/MAMP/htdocs /laravel_frankul/ .envファイル 』をatom(エディター)で開くと・・・・・

まさかの.envファイルが2つ。ここで、私のおドジに気づきました😭

いくら頑張ってもうまくいかない…そんな時は、触っているフォルダやファイルが本当に正しいか、今一度チェックしてみましょう

2)ローカル環境上で問題なく使用できるか確認する

いろいろ触ってみましょう。問題なく動けばOKです!

TOPページは表示されているのに、どこをクリックしても別のページに遷移せず、Not Found のエラーになってしまう…

そんな時に見てほしいのがココ↓

Apache のhttpd.conf ファイル。

/Applications/MAMP/conf/apache/httpd.conf  ※ファイルの場所

mod_rewrite

Atomで「httpd.conf ファイル」を開いて、『mod_rewrite』 が有効になっているかを確認します。上の画像のように先頭に「#」がついていたら、無効になっています。
「#」を外して保存、ターミナルでキャッシュクリアしましょう。

これは、「.htaccess 」が無視されてたことによっておこるエラーです。
「httpd.conf 」の 『mod_rewrite 』を有効化(# を外す)することによって、.htaccessを読み込んで、エラーが解消されます。

「.htaccess 」の 『AllowOverride』 を有効化する

/Applications/MAMP/conf/apache/httpd.conf  ※ファイルの場所

AllowOverride

<Directory “…”> ブロック内の 『AllowOverride None』→『AllowOverride All』に変更します。

変更した後は、MAMPのApacheを再起動しましょう。

どうだったかな?
これで、ローカル環境でLaravelを使えるようになったね!おめでとう🎉👏

つまずいても大丈夫。一歩ずつ進めていきましょう!

ターミナルの英語表記や、やっても動かない、目に見えた変化が起きない…Laravelを触ってみて、何度も何度もつまずいて、「なんで動かないの?」「もう無理かも…」「わけわかんない💦」と心が折れそうになりました。でも、そんな時こそ深呼吸して、ひとつずつ確かめていけば、ちゃんと前に進めることに気づきました。

この記事では、私が実際に迷ったこと、間違えたこともすべて含めて、既存のLaravelファイルをMacで構築するまでの流れをまとめてみました。同じように悩んでいる誰かが、この記事を読んで「自分もやってみようかな」と思ってもらえたら、本当にうれしいです。

次回は、完成したLaravelプロジェクトをGitHubにPushして管理する方法をご紹介します。
Laravelと少し仲良くなれた今、次のステップにも一緒に挑戦してみましょう!

この記事を書いた人
プロフィール
ERIKO

☆ FrankuLメンバー。(https://frankul.net/crew/koyama/) 
☆ 楽しいことが大好きなWebクリエイターです。
制作を通してたくさんの人のHAPPYが溢れるお手伝いができることが幸せです♫
☆ 開発・コーダー・ライター・デザインといろいろやってます。

フォローはこちらから
便利ツール・サービス
よかったらシェアしてね
フォローはこちらから
タイトルとURLをコピーしました