Laravelの開発環境にHomesteadって何が良いの?XAMPPやMAMPと比べた仮想環境のメリットや注意点を解説

Laravel Homestead

XAMPPやMAMPと比べてHomesteadが良い理由は、開発環境を本番環境を合わせられることです。

実際わたしはXAMPPで開発を進めていましたが、開発環境で動いたのに本番環境で動かないエラーが発生した時に、急遽 Homestead環境に切り替えたりしました。

Homesteadは慣れると、なかなか使いやすいです。

ただ最初は設定がうまく行かなかったりして、苦労しました。

じゅんこ
じゅんこ

「あー、もう!なんで動かないの~!」

って気持ちになったりもしました。

XAMPPとHomestead、両方の環境を使っている経験から、Homesteadとは何か、メリットや注意点など解説しますね。

LaravelのHomestead環境って、一体、どういうもの?

まずは Homesteadは何か?から、ちょっと解説していきますね。

Laravelの公式マニュアルには、Homesteadについて、次のように書かれています。

Laravel Homesteadは、PHP、Webサーバー、その他のサーバーソフトウェアをローカルマシンにインストールしなくても、すばらしい開発環境を提供する公式のパッケージ済みVagrantボックスです。

(省略)

Homesteadは、Windows、macOS、Linuxシステムで実行でき、Nginx、PHP、MySQL、PostgreSQL、Redis、Memcached、Node、その他すばらしいLaravelアプリケーションの開発に必要なすべてのソフトウェアを含んでいます。

*引用元:https://readouble.com/laravel/8.x/ja/homestead.html

じゅんこ
じゅんこ

「すばらしい」が連発です。

上記の解説から、Homesteadとは、Laravel用の設定がされたVagrantだとわかりますね。

ただ、そもそもVagrant(ベイグラント)って何なのか?

次に、これを解説していきます。

ちなみに、Homesteadには、次のソフトウェアが含まれています。結構、充実しています!

【Homesteadに含まれているソフトウェア】

  • Ubuntu 18.04 (masterブランチ)
  • Ubuntu 20.04 (20.04ブランチ)
  • Git
  • PHP(8.0、7.4、7.3、7.2、7.1、7.0、5.6)
  • Nginx
  • MySQL
  • lmm
  • Sqlite3
  • PostgreSQL (9.6, 10, 11, 12)
  • Composer
  • Node (Yarn、Bower、Bower、Grunt、Gulpを含む)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • avahi
  • ngrok
  • Xdebug
  • XHProf / Tideways / XHGui
  • wp-cli

Vagrant(ベイグラント)とは何か?

Vagrant(ベイグラント)とは、仮想環境を操作するためのツールです。

仮想環境の構築は、Virtualbox(バーチャルボックス)などを使って行います。Vagrantは、構築後の仮想環境を操作できるツールです。

「仮想」という言葉からご想像いただけると思いますが、仮想環境というのは、パソコンやサーバーの中で、仮想的な環境を作り出すこと。

こうすることで、OSに縛られない環境を構築できます。

仮想環境を使うことのメリット

このOSに縛られない環境って、開発するときに重要です。

たとえば、わたしはWindows10を使っていますが、本番環境のエックスサーバーなどはLinuxになります。

すると、開発環境では動いたのに本番環境ではエラーになった!なんてことが起こったりします。

これって、結構、こわい事態です…

本番環境で動くかどうか分からないものを、デプロイしたくないですよね。

仮想環境を構築すれば、開発環境と本番環境を合わせられるので、こういったトラブルを回避できます。

またチームでプロジェクトを進めていく場合には、チーム全体で環境を統一できるので、開発を進めやすくなります。

仮想環境を使うことの注意点

ただ仮想環境の構築は良いことばかりではありません。

そもそも、仮想環境を構築したり維持するのは、難易度が高い作業です。WindowsやMacと違ってコマンド入力を通じて操作を行う必要があります。

もし あなたがコマンド入力に慣れていない場合には、結構、手こずるかもしれません。

ただWebエンジニアとして、仮想環境の構築は避けて通れない道かもしれません。

時間があるときに、仮想環境構築に挑戦してみる価値はあると思います。

ちなみに速度については、仮想環境の場合、パソコンの中で、パソコンのふりをさせているので処理負荷が増えて、普通に動かすよりは遅くなります。

とはいえ、Homesteadが採用しているLinuxは負荷が軽いため、通常は、ストレスを感じるような遅さはありません。

仮想環境の中でWindows10を動かしたりすると、動作が遅く感じるかもしれません。

HomesteadとXAMPP/MAMPの比較

ここまで、Homesteadのメリットとデメリットをお伝えしました。

次に、XAMPPやMAMPと比較してみます。

HomesteadとXampp/Mampをさくっと比べてみると、下記のような感じになります。

【HomesteadとXAMPP/MAMPのメリット・デメリット比較】

Homestead XAMPP/MAMP
インストールのしやすさ
本番環境との合わせやすさ

WindowsユーザーはXAMPP、MacユーザーはMAMPを使うことが多いですが、どちらも機能はほぼ同じです。

インストールのしやすさで選ぶなら、XAMPPまたはMamp、本番環境との合わせやすさで選ぶなら、Homesteadでしょう。

ちなみに、XAMPP/MAMPには、Laravelを使う際に必要な次の3点が組み込まれています。

  • Apache(Webサーバーアプリ。アパッチと読みます。)
  • データベース
  • PHP

また、XAMPP・MAMP環境は、コマンドを使わず、通常のOS用ソフトウェアとしてPCにインストールできます。

じゅんこ
じゅんこ

手軽さで選ぶなら、XAMPPまたはMampですね。

でも手順が分かれば、Homesteadも、そこまで難しくないですよ。

さいごに

LaravelのHomestead環境について解説しました。

次回からは「Homestead環境を構築してみる」ための手順をひとつずつ、解説していきますね。

【Laravel Homesteadを使う! 目次】

 

「今は忙しいし、一刻も早くLaravelを使いたい!」

という場合には、Homesteadではなく、XAMPP(ザンプ)やMAMP(マンプ)で環境を作ることをおすすめします。その場合は、こちらの記事が参考になります。

Laravel Homestead

【Laravelの教科書・無料プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック
【LaravelでWebアプリ開発します】

「会員制サイトを作ってほしい」「開発の時間がないから頼みたい!」

こんなご要望承り中。オンラインミーティングでも、ご相談承ります。

サンプルやお見積もり目安を見てみる

Twitter始めました。
40代からプログラミング!

コメント

タイトルとURLをコピーしました