はじめに
開発環境をWindowsからMacに移したので、ガシガシ環境構築中です。
最近のMacはすごいですね、デフォルトでPHP7.1装備とは。
とはいえ、最新バージョンはPHP7.2。
composer入れたかったこともあり、ついでにHomebrewでサクッとアップグレードしちゃいました。
その手順を記します。
Homebrewのインストール
まずはここから。
公式に従って、コマンドをターミナルに貼り付けるだけ。簡単。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew --version
Homebrew 1.5.1
Homebrew/homebrew-core (git revision 6236; last commit 2018-01-22)
問題なし。
PHP7.2のインストール
composerをHomebrewで入れるには、先に Homebrewでインストールした PHPが必要とのこと。
cf. MacにHomebrewでComposerをインストールしました - Qiita
HomebrewのPHPを先に入れろとあります。おそらくMacデフォルトのPHPではだめなのだと思います。
作業前に、MacデフォルトのPHPの状態をチェック。
$ php -v
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
$
$ which php
/usr/bin/php
Let's brew install
では入れていきましょう。
…と、その前に、インストールする時の名前が分からないので、brew search
で先に調べます。
$ brew search php72
==> Searching local taps...
==> Searching taps on GitHub...
homebrew/php/php72 homebrew/php/php72-mosquitto
homebrew/php/php72-amqp homebrew/php/php72-msgpack
homebrew/php/php72-apcu homebrew/php/php72-mustache
homebrew/php/php72-apcu-bc homebrew/php/php72-oauth
homebrew/php/php72-ast homebrew/php/php72-opcache
homebrew/php/php72-blitz homebrew/php/php72-pcntl
homebrew/php/php72-couchbase homebrew/php/php72-pdo-dblib
homebrew/php/php72-ds homebrew/php/php72-pdo-pgsql
homebrew/php/php72-ev homebrew/php/php72-phalcon
homebrew/php/php72-event homebrew/php/php72-propro
homebrew/php/php72-gearman homebrew/php/php72-pspell
homebrew/php/php72-geoip homebrew/php/php72-raphf
homebrew/php/php72-geos homebrew/php/php72-rdkafka
homebrew/php/php72-gmagick homebrew/php/php72-redis
homebrew/php/php72-gmp homebrew/php/php72-ref
homebrew/php/php72-grpc homebrew/php/php72-snmp
homebrew/php/php72-hprose homebrew/php/php72-ssh2
homebrew/php/php72-http homebrew/php/php72-stats
homebrew/php/php72-igbinary homebrew/php/php72-swoole
homebrew/php/php72-imagick homebrew/php/php72-tidy
homebrew/php/php72-intl homebrew/php/php72-timecop
homebrew/php/php72-lua homebrew/php/php72-timezonedb
homebrew/php/php72-lz4 homebrew/php/php72-trader
homebrew/php/php72-lzf homebrew/php/php72-uopz
homebrew/php/php72-mailparse homebrew/php/php72-uv
homebrew/php/php72-maxminddb homebrew/php/php72-v8js
homebrew/php/php72-mecab homebrew/php/php72-xdebug
homebrew/php/php72-memcached homebrew/php/php72-xxtea
homebrew/php/php72-meminfo homebrew/php/php72-yac
homebrew/php/php72-molten homebrew/php/php72-yaml
homebrew/php/php72-mongodb
==> Searching blacklisted, migrated and deleted formulae...
homebrew/php/php72
というのがインストールする時のformulaeの名前なようです。
Webtaticなどのリポジトリからインストールする時とは、全く名前が違うので、各々どんな用途で使えるのか、改めて調べる必要がありそうです。
homebrew/php/php72-xdebug
とかは分かりやすくて有り難いですが。
とりあえず今回はhomebrew/php/php72
だけ入れてみましょう。
$ brew install homebrew/php/php72
==> Tapping homebrew/php
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-php'...
~~中略~~
To have launchd start homebrew/php/php72 now and restart at login:
brew services start homebrew/php/php72
==> Summary
🍺 /usr/local/Cellar/php72/7.2.1_12: 350 files, 46.6MB
$ php -v
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
あれ?反映されてない。。。と思ったら。
To have launchd start homebrew/php/php72 now and restart at login
なるほど。ターミナルを再起動すれば良いんですね。
ターミナル再起動して改めて。
$ php -v
PHP 7.2.1 (cli) (built: Jan 5 2018 17:34:14) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
$ which php
/usr/local/bin/php
問題ありませんね。
パスも/usr/bin/php
から、Homebrewが使用する/usr/local/bin/php
に変わってますね。
これでリリースされたてのPHP7.2の新機能も試せますね。
Macはあらゆる環境構築が楽で助かります。
ここから先はおまけです。
homebrew/php/php72の中身
先述しましたが、Webtaticなどから入れるのと勝手が違ったので、中にどんなモジュールが含まれてるのか覗いてみました。
せっかくなので、別記事にします。
homebrew/php/php72にどんなモジュールが含まれてるか覗いてみた - Qiita
一通り必要なモジュール揃ってますね。楽ちん。
composerのインストール
これも別記事に。
別記事にするほどボリューム無かったので統合。
まずはbrew search
してformulaeの名前を調べます。
$ brew search composer
==> Searching local taps...
homebrew/php/composer homebrew/php/composer@1.2 homebrew/php/composer@1.5
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
何やら3つヒットしましたが、違いがよく分からないので、ここは素直に無印版を。
$ brew install homebrew/php/composer
==> Installing composer from homebrew/php
==> Downloading https://homebrew.bintray.com/bottles-php/composer-1.6.2.high_sie
######################################################################## 100.0%
==> Pouring composer-1.6.2.high_sierra.bottle.tar.gz
==> Caveats
composer no longer depends on the homebrew php Formulas since the last couple of macOS releases
contains a php version compatible with composer. If this has been part of your workflow
previously then please make the appropriate changes and `brew install php71` or other appropriate
Homebrew PHP version.
==> Summary
🍺 /usr/local/Cellar/composer/1.6.2: 5 files, 1.8MB
終わったっぽいので、入ったのかどうか確認してみましょう。
$ composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.6.2 2018-01-05 15:28:41
終了。
さっき3つヒットしたうちの、残り2つは古いバージョンみたいですね。なるほど。
無印版で正解だったようです。