はやりのPHPフレームワークLaravel5.5をMacにインストール

2018/06/07PHP
はやりのPHPフレームワークLaravel5.5をMacにインストール

PHPのフレームワークの中で一番のシェアを誇る「Laravel」のインストール方法です。

PHPのバージョン確認

ターミナルを起動してPHPのバージョンを確認します。

ターミナルの起動

移動」→「ユーティリティ」から「ターミナル」を選択して起動してください。

PHPバージョンの確認

php -v

と入力して「enter」

PHP 7.1.14 (cli) (built: Feb 7 2018 18:33:30) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

バージョンはPHP 7.1.14です。

Homebrewのインストール

Homebrewとは?

HomebrewはmacOS用のパッケージマネージャーです。

インストール

Homebrewのサイトのトップ中央の

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

をコピーしてターミナルに貼り付けて「enter」

Homebrew@complesso.jp

Homebrewのインストールについて詳しくは以下の記事をご覧ください。

composerのインストール

composerとは?

PHPの「ライブラリ依存管理ツール」です。PHPのプロジェクトが必要とするライブラリやパッケージを管理します。

インストール

curl -sS https://getcomposer.org/installer | php

と入力して「enter」

All settings correct for using Composer
Downloading...

Composer (version 1.6.5) successfully installed to: /Users/hoge/composer.phar
Use it: php composer.phar

すでにインストールされています。されていない場合は以下のようになります。

Downloading 1.1.1...
Composer successfully installed to: /Users/hoge/composer.phar
Use it: php composer.phar
Some settings on your machine may cause stability issues with Composer.
If you encounter issues, try to change the following:

The OpenSSL library (0.9.8zc) used by PHP does not support TLSv1.2 or TLSv1.1.
If possible you should upgrade OpenSSL to version 1.0.1 or above.

PATHを通す

echo $PATH

と入力して「enter」

mv composer.phar /usr/local/bin/composer

と入力して「enter」

確認

composer -V

と入力して「enter」

Composer version 1.6.3 2018-01-31 16:28:17

Laravelをインストール

Laravelとは?

最近流行になっているPHPのフレームワークです。

インストーラのダウンロード

composer global require "laravel/installer=~1.1"

と入力して「enter」

Changed current directory to /Users/hoge/.composer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 7 installs, 0 updates, 0 removals
 - Installing symfony/polyfill-ctype (v1.8.0): Downloading (100%)     
 - Installing symfony/filesystem (v4.1.0): Downloading (100%)     
 - Installing guzzlehttp/promises (v1.3.1): Loading from cache
 - Installing psr/http-message (1.0.1): Loading from cache
 - Installing guzzlehttp/psr7 (1.4.2): Loading from cache
 - Installing guzzlehttp/guzzle (6.3.3): Downloading (100%)     
 - Installing laravel/installer (v1.5.0): Downloading (100%)     
guzzlehttp/guzzle suggests installing psr/log (Required for using the Log middleware)
Writing lock file
Generating autoload files

すでにダウンロードされていたので、updateになりました。ダウンロードが未の場合は以下のようになります。

Changed current directory to /Users/hoge/.composer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
 - Installing symfony/process (v3.0.6)
  Downloading: 100%     

 - Installing symfony/polyfill-mbstring (v1.1.1)
  Downloading: 100%     

 - Installing symfony/console (v3.0.6)
  Downloading: 100%     

 - Installing guzzlehttp/promises (1.1.0)
  Downloading: 100%     

 - Installing psr/http-message (1.0)
  Downloading: 100%     

 - Installing guzzlehttp/psr7 (1.3.0)
  Downloading: 100%     

 - Installing guzzlehttp/guzzle (6.2.0)
  Downloading: 100%     

 - Installing laravel/installer (v1.3.3)
  Downloading: 100%     

symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
Writing lock file
Generating autoload files

プロジェクトの作成

composer create-project laravel/laravel test_project --prefer-dist

と入力して「enter」
最新版がダウンロードされます。(そこそこ時間がかかります)

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 70 installs, 0 updates, 0 removals
 - Installing vlucas/phpdotenv (v2.4.0): Loading from cache
 - Installing symfony/css-selector (v4.1.0): Downloading (100%)     
 - Installing tijsverkoyen/css-to-inline-styles (2.2.1): Loading from cache
 - Installing symfony/polyfill-php72 (v1.8.0): Downloading (100%)     
 - Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%)     
 - Installing symfony/var-dumper (v4.1.0): Downloading (100%)     
 - Installing symfony/routing (v4.1.0): Downloading (100%)     
 - Installing symfony/process (v4.1.0): Downloading (100%)     
 - Installing symfony/polyfill-ctype (v1.8.0): Loading from cache
 - Installing symfony/http-foundation (v4.1.0): Downloading (100%)     
 - Installing symfony/event-dispatcher (v4.1.0): Downloading (100%)     
 - Installing psr/log (1.0.2): Loading from cache
 - Installing symfony/debug (v4.1.0): Downloading (100%)     
 - Installing symfony/http-kernel (v4.1.0): Downloading (100%)     
 - Installing paragonie/random_compat (v2.0.14): Downloading (100%)     
 - Installing symfony/finder (v4.1.0): Downloading (100%)     
 - Installing symfony/console (v4.1.0): Downloading (100%)     
 - Installing doctrine/lexer (v1.0.1): Loading from cache
 - Installing egulias/email-validator (2.1.4): Downloading (100%)     
 - Installing swiftmailer/swiftmailer (v6.0.2): Loading from cache
 - Installing ramsey/uuid (3.7.3): Loading from cache
 - Installing psr/simple-cache (1.0.1): Downloading (100%)     
 - Installing psr/container (1.0.0): Loading from cache
 - Installing symfony/translation (v4.1.0): Downloading (100%)     
 - Installing nesbot/carbon (1.25.0): Downloading (100%)     
 - Installing monolog/monolog (1.23.0): Loading from cache
 - Installing league/flysystem (1.0.45): Downloading (100%)     
 - Installing erusev/parsedown (1.7.1): Downloading (100%)     
 - Installing dragonmantank/cron-expression (v2.2.0): Downloading (100%)     
 - Installing doctrine/inflector (v1.3.0): Loading from cache
 - Installing laravel/framework (v5.6.24): Downloading (100%)     
 - Installing fideloper/proxy (4.0.0): Downloading (100%)     
 - Installing nikic/php-parser (v4.0.2): Downloading (100%)     
 - Installing jakub-onderka/php-console-color (0.1): Loading from cache
 - Installing jakub-onderka/php-console-highlighter (v0.3.2): Loading from cache
 - Installing dnoegel/php-xdg-base-dir (0.1): Loading from cache
 - Installing psy/psysh (v0.9.5): Downloading (100%)     
 - Installing laravel/tinker (v1.0.7): Downloading (100%)     
 - Installing fzaninotto/faker (v1.7.1): Loading from cache
 - Installing hamcrest/hamcrest-php (v2.0.0): Loading from cache
 - Installing mockery/mockery (1.1.0): Downloading (100%)     
 - Installing filp/whoops (2.2.0): Downloading (100%)     
 - Installing nunomaduro/collision (v2.0.2): Downloading (100%)     
 - Installing sebastian/version (2.0.1): Loading from cache
 - Installing sebastian/resource-operations (1.0.0): Loading from cache
 - Installing sebastian/object-reflector (1.1.1): Loading from cache
 - Installing sebastian/recursion-context (3.0.0): Loading from cache
 - Installing sebastian/object-enumerator (3.0.3): Loading from cache
 - Installing sebastian/global-state (2.0.0): Loading from cache
 - Installing sebastian/exporter (3.1.0): Loading from cache
 - Installing sebastian/environment (3.1.0): Loading from cache
 - Installing sebastian/diff (3.0.0): Downloading (100%)     
 - Installing sebastian/comparator (3.0.0): Downloading (100%)     
 - Installing phpunit/php-timer (2.0.0): Downloading (100%)     
 - Installing phpunit/php-text-template (1.2.1): Loading from cache
 - Installing phpunit/php-file-iterator (2.0.0): Downloading (100%)     
 - Installing theseer/tokenizer (1.1.0): Loading from cache
 - Installing sebastian/code-unit-reverse-lookup (1.0.1): Loading from cache
 - Installing phpunit/php-token-stream (3.0.0): Downloading (100%)     
 - Installing phpunit/php-code-coverage (6.0.7): Downloading (100%)     
 - Installing doctrine/instantiator (1.1.0): Loading from cache
 - Installing webmozart/assert (1.3.0): Loading from cache
 - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
 - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
 - Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
 - Installing phpspec/prophecy (1.7.6): Downloading (100%)     
 - Installing phar-io/version (1.0.1): Loading from cache
 - Installing phar-io/manifest (1.0.1): Loading from cache
 - Installing myclabs/deep-copy (1.8.0): Downloading (100%)     
 - Installing phpunit/phpunit (7.2.4): Downloading (100%)     
symfony/var-dumper suggests installing ext-intl (To show region name in time zone dump)
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/dependency-injection (For loading routes from a service)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing symfony/yaml (For using the YAML loader)
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/http-kernel suggests installing symfony/browser-kit ()
symfony/http-kernel suggests installing symfony/config ()
symfony/http-kernel suggests installing symfony/dependency-injection ()
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/console suggests installing symfony/lock ()
egulias/email-validator suggests installing ext-intl (PHP Internationalization Libraries are required to use the SpoofChecking validation)
ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter)
ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator)
ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator)
ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid)
symfony/translation suggests installing symfony/config ()
symfony/translation suggests installing symfony/yaml ()
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver and SES mail driver (~3.0).)
laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (~2.6).)
laravel/framework suggests installing ext-pcntl (Required to use all features of the queue worker.)
laravel/framework suggests installing guzzlehttp/guzzle (Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~6.0).)
laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (~1.0).)
laravel/framework suggests installing league/flysystem-cached-adapter (Required to use the Flysystem cache (~1.0).)
laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (~1.0).)
laravel/framework suggests installing league/flysystem-sftp (Required to use the Flysystem SFTP driver (~1.0).)
laravel/framework suggests installing nexmo/client (Required to use the Nexmo transport (~1.0).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (~3.0).)
laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (~1.0).)
laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (~3.0).)
laravel/framework suggests installing symfony/dom-crawler (Required to use most of the crawler integration testing tools (~4.0).)
laravel/framework suggests installing symfony/psr-http-message-bridge (Required to psr7 bridging features (~1.0).)
psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :))
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (^2.6.0)
phpunit/phpunit suggests installing phpunit/php-invoker (^2.0)
phpunit/phpunit suggests installing ext-xdebug (*)
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
> @php artisan key:generate
Application key [base64:FGIvhiwI68UuxfshPN7ibuCSx8REs1qehlrU5jg92OE=] set successfully.

ディレクトリを移動して起動

cd test_project/
php artisan serve

と入力して「enter」

こちらにアクセスして以下のようなページが見れたら完了です。