FooBar

note to self

MacでLaravelの環境構築をする方法

こんにちは。本日は人気PHP製フレームワークのLaravelの環境構築についてです。
今回はvagrantやdockerなど仮想環境も用いての構築ではなく、シンプルにローカル環境に構築していきます。

バージョン

php Laravel composer MySQL Homebrew
7.3.2 6.0.2 1.8.4 5.7.24 2.1.11

PHPとMySQLのインストール

HomebrewでPHPとMySQLをインストールしている前提です。
まだインストールしていない方は過去記事を参考に環境構築してください。

blog.otsukasatoshi.com

blog.otsukasatoshi.com

blog.otsukasatoshi.com

過去記事通りに行えば簡単にできると思うので、PHPの環境構築に関しては詳しい説明は割愛します。

composerのインストール

Homebrew経由でcomposerをインストールしていきます。
composerはPHPで利用できるパッケージ依存管理ツールのことです。
音楽関係の知識持っているひとはコンポーザーという言葉を聞いたことがある思いますが、英語で作曲家や構成する人という意味があります。
なのでcomposerのイラストは作曲家(?)なのですね。

$ brew install composer

インストールが終わったら確認してみましょう。

$ composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.8.4 2019-02-11 10:52:10

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about                Shows the short information about Composer.
  archive              Creates an archive of this composer package.
  browse               Opens the package's repository URL or homepage in your browser.
  check-platform-reqs  Check that platform requirements are satisfied.
  clear-cache          Clears composer's internal package cache.
  clearcache           Clears composer's internal package cache.
  config               Sets config options.
  create-project       Creates new project from a package into given directory.
  depends              Shows which packages cause the given package to be installed.
  diagnose             Diagnoses the system to identify common errors.
  dump-autoload        Dumps the autoloader.
  dumpautoload         Dumps the autoloader.
  exec                 Executes a vendored binary/script.
  global               Allows running commands in the global composer dir ($COMPOSER_HOME).
  help                 Displays help for a command
  home                 Opens the package's repository URL or homepage in your browser.
  i                    Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  info                 Shows information about packages.
  init                 Creates a basic composer.json file in current directory.
  install              Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses             Shows information about licenses of dependencies.
  list                 Lists commands
  outdated             Shows a list of installed packages that have updates available, including their latest version.
  prohibits            Shows which packages prevent the given package from being installed.
  remove               Removes a package from the require or require-dev.
  require              Adds required packages to your composer.json and installs them.
  run-script           Runs the scripts defined in composer.json.
  search               Searches for packages.
  self-update          Updates composer.phar to the latest version.
  selfupdate           Updates composer.phar to the latest version.
  show                 Shows information about packages.
  status               Shows a list of locally modified packages, for packages installed from source.
  suggests             Shows package suggestions.
  u                    Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  update               Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  upgrade              Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate             Validates a composer.json and composer.lock.
  why                  Shows which packages cause the given package to be installed.
  why-not              Shows which packages prevent the given package from being installed.

composer -vというコマンドを叩くとバージョンと使えるコマンド一覧が表示されます。
composerのインストールはこれで完了です。

Laravelプロジェクトを作成する

では実際にLaravelのプロジェクトを作っていきます。

$ mkdier LaravelApp
$ cd LaravelApp

ディレクトリに移動したら以下のコマンドを叩いてlaravelアプリを作成します。
今回はcomposer経由で作成します。

$ composer create-project laravel/laravel --prefer-dist SampleLaravelApp
Installing laravel/laravel (v6.0.2)
  - Installing laravel/laravel (v6.0.2): Downloading (100%)
Created project in SampleLaravelApp
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 84 installs, 0 updates, 0 removals
・
・
・

作成が完了したらサーバーを立ち上げましょう。

$ php artisan serve
Laravel development server started: <http://127.0.0.1:8000>

http://127.0.0.1:8000にアクセスして以下のような画面が表示されたら成功です🎉

f:id:otsukasatoshi:20190922134028p:plain

ちなみにartisanコマンドはLaravelでよく使用するコマンドになります。
このコマンドで下記のようにLaravel本体のバージョンも確認することができます。

$ php artisan --version
Laravel Framework 6.0.2

これでローカル環境にLaravelの開発環境構築ができました。

本日は以上です。