phpenv & php-build で macOS Catalina に複数バージョンの PHP 環境を構築する
- 公開日
- カテゴリ:PHP
- タグ:PHP,mac,phpenv,php-build,Catalina
昨今の PHP での開発環境構築においてはコンテナ環境が大分普及してきたのもあり、PHP などのプログラミング言語のバージョンを切り替える事も大分容易になったなと思いつつ、それでも状況によってはローカルのマシンに複数のバージョンの PHP を保持して切り替えたい事もあります。
今回は、phpenv と php-build を用いて、複数バージョンの PHP を切り替えて使用できるようにしてみます。
Contents
- 開発環境
- phpenv
- php-build
- PHP ビルド
- ビルドエラーと解決法
- This bison version is not supported for regeneration of the Zend/PHP parsers
- You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
- Cannot find OpenSSL's <evp.h>
- Cannot find libz
- Please reinstall the BZip2 distribution
- Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
- Please specify the install prefix of iconv with --with-iconv=<DIR>
- Please reinstall libedit - I cannot find readline.h
- The pkg-config script could not be found or is too old.
- No package 'krb5' found
- No package 'openssl' found
- Please reinstall the BZip2 distribution
- No package 'icu-i18n' found
- No package 'oniguruma' found
開発環境
今回の開発環境は以下の通りです。
- macOS Catalina (ver 10.15.5)
- Homebrew (ver 2.4.7)
- git (ver 2.27.0)
Homebrew がインストール済みの前提で進めます。
Homebrew パッケージマネージャ
https://brew.sh/index_ja
コマンドは特に指定されていなければ自身のユーザのホームディレクトリで実行します。
# ホームディレクトリへ移動
% cd
# 現在いる位置
% pwd
/Users/guest
Catalina なのでシェルは zsh の前提で進めます。bash の場合は読み替えてください。
phpenv
まずは phpenv を導入します。
phpenv は、指定されたphpのバージョンをインストールしたり、プロジェクト毎、またはシステム全体で使用するphpのバージョンを切り替えることができるツールです。
phpenv
https://github.com/phpenv/phpenv
インストールの手順は基本的には 公式で示されている手順で行っていきます。
インストール
公式ドキュメントでは phpenv-installer も用意されていてそちらでもインストールできるみたいですが、今回は手動で行っていきます。
まずは、github から phpenv をチェックアウト(ソースを取得)します。
# phpenv をチェックアウト
git clone git://github.com/phpenv/phpenv.git ~/.phpenv
パスを通します。
# phpenv のパスを通す
echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.zshrc
phpenv で PHPバージョンを切り替えられるようにするために phpenv init をシェルに追加します。
echo 'eval "$(phpenv init -)"' >> ~/.zshrc
.zshrc を再読み込みします。
# 再読み込み
source ~/.zshrc
phpenv コマンドのバージョン確認を実行して、バージョンが表示されればインストールは完了です。
# バージョンを確認
% phpenv --version
phpenv v0.9.0-rc.1
php-build
次に、php-build を導入します。
php-build は、PHP をバージョンごとにビルドするツールです。
php-build
https://github.com/php-build/php-build
インストール
github から php-build をチェックアウト(ソースを取得)します。
# php-build チェックアウト
git clone git://github.com/php-build/php-build.git ~/.phpenv/plugins/php-build
今回は phpenv のプラグインとして使用するので、設置するパスも指定しています。
これで php-build のインストールは完了です。
phpenv と php-build の導入が完了したので、これで各バージョンの PHP のインストールを行っていく準備が整いました。
PHP ビルド
これから、各バージョンの PHP のビルドを行っていきます。
以下の phpenv コマンドを実行すると、インストール可能なバージョンが表示されます。
# インストール可能なバージョンを表示する
% phpenv install --list
Available versions:
5.2.17
.
.
.
7.4.8
7.4snapshot
master
上記で表示されるバージョンで、必要なものをインストールする事ができます。
ちなみに、phpenv と php-build を用いた PHP のインストールを行う場合、各バージョンで必要なパッケージの導入など、依存関係の解決を一つ一つ行っていくという地道な作業になります。
今回は PHP 7.2 / 7.3 / 7.4 をインストールするという前提で、はじめに一発でインストールが行える方法を記します。
まず、PHP のビルドに必要なライブラリを Homebrew でインストールします。
# パッケージ インストール
brew install bison re2c libxml2 zlib libzip bzip2 curl libiconv libedit pkg-config krb5 openssl@1.1 icu4c oniguruma
ここで一つ注意点ですが、PHP 7.2.0 〜 7.2.4 をインストールしたい場合、ここで oniguruma をインストールすると次の PHP のビルドで失敗するので、一旦インストールから外してください。
次に、以下のコマンドを実行してパスを通します。
# パッケージのパスを通す
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/libxml2/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/bzip2/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/libiconv/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/krb5/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc
ちなみに以下のように、各ライブラリのパスを動的にしてもOKです。(ターミナル開いた際の読み込み時にパスを解決するのでその分時間がかかります。その場合は予め zcompile でコンパイルすれば解決)
echo 'export PATH="$(brew --prefix bison)/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$(brew --prefix libxml2)/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$(brew --prefix bzip2)/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$(brew --prefix curl)/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$(brew --prefix libiconv)/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$(brew --prefix krb5)/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$(brew --prefix openssl@1.1)/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$(brew --prefix icu4c)/bin:$PATH"' >> ~/.zshrc
次に、以下のコマンドを実行して環境変数 PKG_CONFIG_PATH を設定します
# PKG_CONFIG_PATH を設定
echo 'export PKG_CONFIG_PATH="/usr/local/opt/krb5/lib/pkgconfig:$PKG_CONFIG_PATH"' <span>>> ~/.zshrc
echo 'export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"' <span>>> ~/.zshrc
echo 'export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:$PKG_CONFIG_PATH"' <span>>> ~/.zshrc
# もしくは
echo 'export PKG_CONFIG_PATH="$(brew --prefix krb5)/lib/pkgconfig:$PKG_CONFIG_PATH"' <span>>> ~/.zshrc
echo 'export PKG_CONFIG_PATH="$(brew --prefix openssl@1.1)/lib/pkgconfig:$PKG_CONFIG_PATH"' <span>>> ~/.zshrc
echo 'export PKG_CONFIG_PATH="$(brew --prefix icu4c)/lib/pkgconfig:$PKG_CONFIG_PATH"' <span>>> ~/.zshrc
source コマンドを実行して .zshrc を再読み込みします。
# .zshrc 再読み込み
source ~/.zshrc
これで PHP のビルドをスムーズに行う準備が整いました。
PHP 7.2
それではこれから、各バージョンの PHP をインストールしていきます。
まず、現状を確認します。以下の phpenv コマンドを叩くと、インストール済み PHP のバージョンを確認できます。
# インストール済みのバージョンを確認
% phpenv versions
* system (set by /Users/guest/.phpenv/version)
# 現在アクティブな PHP のバージョン
% php -v
PHP 7.2.32
system は、phpenv ではなく、Mac デフォルトや Homebrew でインストールされていてアクティブになっている PHP の事です。
この場合、まだ phpenv を使って PHP をインストールしてはおらず、通常インストールされた PHP 7.2.32 のみが存在している事を表しています。
ではまず、PHP 7.2.9 をインストールしてみます。以下のコマンドを実行します。
# PHP 7.2.9 インストール
PHP_RPATHS="/usr/local/opt/zlib/lib /usr/local/opt/bzip2/lib /usr/local/opt/curl/lib /usr/local/opt/libiconv/lib /usr/local/opt/libedit/lib" \
PHP_BUILD_CONFIGURE_OPTS="--with-zlib-dir=/usr/local/opt/zlib --with-bz2=/usr/local/opt/bzip2 --with-curl=/usr/local/opt/curl --with-iconv=/usr/local/opt/libiconv --with-libedit=/usr/local/opt/libedit" \
phpenv install -i development 7.2.9
コマンド1回分ですが、見やすいように改行コードを挟んでいます。また、php.ini は development で作成するように指定しているので、production で作成したい場合は -i developmentを省いてください。
本来であればコマンドは phpenv install 7.2.9 だけで良いのですが、Catalina(厳密には Mojave から?)ではリンク周りが上手く行っておらず、PHP_RPATHS や PHP_BUILD_CONFIGURE_OPTS を指定した上で実行すると上手くいきます。
また、この辺りは php-build のコントリビューターでもある @kunit さんの記事がとても参考になりました。
通信環境やマシンスペックなどにもよるとは思いますが、こちらで行ったところでは PHP のビルドに 20 分程度かかりました。
% PHP_RPATHS="/usr/local/opt/zlib/lib /usr/local/opt/bzip2/lib /usr/local/opt/curl/lib /usr/local/opt/libiconv/lib /usr/local/opt/libedit/lib" \
PHP_BUILD_CONFIGURE_OPTS="--with-zlib-dir=/usr/local/opt/zlib --with-bz2=/usr/local/opt/bzip2 --with-curl=/usr/local/opt/curl --with-iconv=/usr/local/opt/libiconv --with-libedit=/usr/local/opt/libedit" \
phpenv install 7.2.9
[Info]: Loaded extension plugin
[Info]: Loaded apc Plugin.
[Info]: Loaded composer Plugin.
[Info]: Loaded github Plugin.
[Info]: Loaded uprofiler Plugin.
[Info]: Loaded xdebug Plugin.
[Info]: Loaded xhprof Plugin.
[Info]: Loaded zendopcache Plugin.
[Info]: php.ini-production gets used as php.ini
[Info]: Building 7.2.9 into /Users/guest/.phpenv/versions/7.2.9
[Downloading]: https://secure.php.net/distributions/php-7.2.9.tar.bz2
[Preparing]: /var/tmp/php-build/source/7.2.9
[Compiling]: /var/tmp/php-build/source/7.2.9
[xdebug]: Installing version 2.9.6
[Downloading]: http://xdebug.org/files/xdebug-2.9.6.tgz
[xdebug]: Compiling xdebug in /var/tmp/php-build/source/xdebug-2.9.6
[xdebug]: Installing xdebug configuration in /Users/guest/.phpenv/versions/7.2.9/etc/conf.d/xdebug.ini
[xdebug]: Cleaning up.
[Info]: Enabling Opcache...
[Info]: Done
[Info]: The Log File is not empty, but the Build did not fail. Maybe just warnings got logged. You can review the log in /tmp/php-build.7.2.9.20200719135234.log or rebuild with '--verbose' option
[Success]: Built 7.2.9 successfully.
新しいバージョンをインストールしたら、以下の phpenv コマンドを実行してハッシュを更新します。
phpenv rehash
これで PHP 7.2.9 のインストールができたので、再度状態を確認します。
% phpenv versions
* system (set by /Users/guest/.phpenv/version)
7.2.9
% php -v
PHP 7.2.32
7.2.9 がインストールされている事が確認できました。一方で、まだ切り替えていないので現状の PHP のバージョンは 7.2.32 のままです。これを切り替えるには以下の phpenv コマンドを実行します。
# バージョンを切り替える
% phpenv global 7.2.9
7.2.9
# 確認
% phpenv versions
system
* 7.2.9
% php -v
PHP 7.2.9
PHP のバージョンが 7.2.9 に切り替わりました。
なお、切り替えには2種類の方法があり、先程のように全体を切り替える方法と、実行したディレクトリ配下のバージョンだけを切り替える方法があります。
# [方法1] 純粋に バージョンを切り替える
phpenv global <version>
# [方法2] 特定のディレクトリ配下でのみバージョンを切り替える
cd /path/to/project
phpenv local <version>
後者の方法の場合、/path/to/project 配下でのみ、指定したバージョンに切り替える事ができます。
PHP 7.3
続いて、PHP 7.3 をインストールしてみます。以下のコマンドを実行します。
# PHP 7.3.9 インストール
PHP_RPATHS="/usr/local/opt/zlib/lib /usr/local/opt/bzip2/lib /usr/local/opt/libiconv/lib /usr/local/opt/libedit/lib" \
PHP_BUILD_CONFIGURE_OPTS="--with-zlib-dir=/usr/local/opt/zlib --with-bz2=/usr/local/opt/bzip2 --with-iconv=/usr/local/opt/libiconv --with-libedit=/usr/local/opt/libedit" \
phpenv install 7.3.9
若干指定しているものが違う程度で、基本的には 7.2 の時と同じです。
こちらも大体20分程度でインストール完了。ハッシュを更新して切り替えてみます。
# hashの更新
phpenv rehash
# PHP 7.3.9 へ切り替え
% phpenv global 7.3.9
7.3.9
# 確認
% phpenv versions
system
7.2.9
* 7.3.9
% php -v
PHP 7.3.9
PHP 7.3.9 に切り替わった事を確認できました。
PHP 7.4
最後に、PHP 7.4 をインストールします。以下のコマンドを実行します。
# PHP 7.4.8 インストール
PHP_RPATHS="/usr/local/opt/bzip2/lib /usr/local/opt/libiconv/lib" \
PHP_BUILD_CONFIGURE_OPTS="--with-bz2=/usr/local/opt/bzip2 --with-iconv=/usr/local/opt/libiconv" \
phpenv install 7.4.8
インストールが完了したら、切り替えてみます。
# hashの更新
phpenv rehash
# PHP 7.4.8 へ切り替え
% phpenv global 7.4.8
7.4.8
# 確認
% phpenv versions
system
7.2.9
7.3.9
* 7.4.8
% php -v
PHP 7.4.8
PHP 7.4.8 に切り替わった事を確認できました。
これで phpenv と php-build を利用した複数 PHP バージョン環境の構築は完了です。
ちなみに、この方法を用いて PHP をインストールした場合、php.ini は以下の場所になります。
% php -i | grep php.ini
Configuration File (php.ini) Path => /Users/guest/.phpenv/versions/7.4.8/etc
Loaded Configuration File => /Users/guest/.phpenv/versions/7.4.8/etc/php.ini
ビルドエラーと解決法
PHP をビルドする際に遭遇したエラーと解決法を以下に列挙しておきます。以下で解決したものをまとめたものが前項になっています。
既にインストール済みのライブラリを改めて Homebrew でインストールしている部分があります。実際はインストール済みのものをアップデートしたりして対応も可能だと思いますが、様々なパッケージを Homebrew で管理するようにしてしまった方がバージョンアップが一括でできる事や、これらが必ず Homebrew で管理されている事を把握できるので、導入後の運用が楽という点でインストールし直しています。
This bison version is not supported for regeneration of the Zend/PHP parsers
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 2.3, min: 204, excluded: ).
この bison のバージョンは、Zend / PHPパーサーの再生成ではサポートされていません
現在の bison のバージョンが 2.3 で、これではバージョンが低い。
bison パーサジェネレータ
https://www.gnu.org/software/bison/ https://formulae.brew.sh/formula/bison
現在の bison の状態を確認
% which bison
/usr/bin/bison
% bison --version
bison (GNU Bison) 2.3
Written by Robert Corbett and Richard Stallman.
Mac に入ってるデフォルトのやつなので、Homebrew で新たにインストールして管理していくようにする。
# bison インストール
brew install bison
パスを通す
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.zshrc
.zshrc を再読み込み
source ~/.zshrc
改めて状態を確認
% which bison
/usr/local/opt/bison/bin/bison
% bison --version
bison (GNU Bison) 3.6.4
Written by Robert Corbett and Richard Stallman.
これで解決
You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
PHPパーサーを再生成する場合は、re2c 0.13.4以降が必要です。
re2c が入っていなかったのでインストールする必要がある
re2c レクサージェネレータ
https://re2c.org/ https://formulae.brew.sh/formula/re2c
Homebrew でインストール
# re2c インストール
brew install re2c
re2c の状態を確認
% which re2c
/usr/local/bin/re2c
% /usr/local/bin/re2c --version
re2c 1.3
これで解決しました。
Cannot find OpenSSL's <evp.h>
configure: error: Cannot find OpenSSL's <evp.h>
OpenSSLの evp.h が見つかりません
libxml2 C言語で XML を扱うためのライブラリ
http://xmlsoft.org/ https://formulae.brew.sh/formula/libxml2
libxml2 を Homebrew でインストール
# libxml2 インストール
brew install libxml2
パスを通して再読み込み
# パスを通す
echo 'export PATH="/usr/local/opt/libxml2/bin:$PATH"' >> ~/.zshrc
# .zshrc を再読み込み
source ~/.zshrc
これで解決
Cannot find libz
configure: error: Cannot find libz
libzが見つかりません
zlib
https://zlib.net/ https://formulae.brew.sh/formula/zlib
zlib インストール
# zlib インストール
brew install zlib
phpenv install を実行する時に、PHP_RPATHS と PHP_BUILD_CONFIGURE_OPTS を指定する。
PHP_RPATHS="/usr/local/opt/zlib/lib" PHP_BUILD_CONFIGURE_OPTS="--with-zlib-dir=/usr/local/opt/zlib" phpenv install 7.x.x
これで解決しました。
Please reinstall the BZip2 distribution
configure: error: Please reinstall the BZip2 distribution
BZip2 ディストリビューションを再インストールしてください
BZip2 をインストールする
# bzip2 インストール
brew install bzip2
# パスを通す
echo 'export PATH="/usr/local/opt/bzip2/bin:$PATH"' >> ~/.zshrc
# .zshrc を再読み込み
source ~/.zshrc
# 確認
% which bzip2
/usr/local/opt/bzip2/bin/bzip2
phpenv install を実行する時に、PHP_RPATHS と PHP_BUILD_CONFIGURE_OPTS を指定する。
PHP_RPATHS="/usr/local/opt/bzip2/lib" PHP_BUILD_CONFIGURE_OPTS="--with-bz2=/usr/local/opt/bzip2" phpenv install 7.x.x
これで解決しました。
Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
configure: WARNING: Fallback: search for curl headers and curl-config
configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
libcurlディストリビューションを再インストールしてください
現在の状態を確認
% which curl
/usr/bin/curl
Mac にデフォルトで入っているやつなので、これも Homebrew でインストールして管理するようにする。
# curl インストール
brew install curl
# パスを通す
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.zshrc
# .zshrc を再読み込み
source ~/.zshrc
# 確認
% which curl
/usr/local/opt/curl/bin/curl
phpenv install を実行する時に、PHP_RPATHS と PHP_BUILD_CONFIGURE_OPTS を指定する。
PHP_RPATHS="/usr/local/opt/curl/lib" PHP_BUILD_CONFIGURE_OPTS="--with-curl=/usr/local/opt/curl" phpenv install 7.x.x
Please specify the install prefix of iconv with --with-iconv=<DIR>
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
--with-iconv=<DIR>でiconvのインストール接頭辞を指定してください
ここもパス必要かと思いつつ、現状確認。
% which iconv
/usr/bin/iconv
デフォルトで Mac に入っているものだったのでこれも Homebrew で管理するようにする。
# libiconv インストール
brew install libiconv
# パスを通す
echo 'export PATH="/usr/local/opt/libiconv/bin:$PATH"' >> ~/.zshrc
# .zshrc を再読み込み
source ~/.zshrc
# 確認
% which iconv
/usr/local/opt/libiconv/bin/iconv
phpenv install を実行する時に、PHP_RPATHS と PHP_BUILD_CONFIGURE_OPTS を指定する。
PHP_RPATHS="/usr/local/opt/libiconv/lib" PHP_BUILD_CONFIGURE_OPTS="--with-iconv=/usr/local/opt/libiconv" phpenv install 7.x.x
Please reinstall libedit - I cannot find readline.h
configure: error: Please reinstall libedit - I cannot find readline.h
libeditを再インストールしてください
# libiconv インストール
brew install libedit
The pkg-config script could not be found or is too old.
configure: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config.
pkg-configスクリプトが見つからなかったか古すぎます。それがPATHにあることを確認するか、PKG_CONFIG環境変数を pkg-config へのフルパスに設定します。
ひとまず確認
% which pkg-config
pkg-config not found
入っていないようなのでインストール
pkg-config アプリケーションとライブラリをコンパイルするときに使用されるヘルパーツール
http://pkg-config.freedesktop.org/
# pkg-config インストール
brew install pkg-config
# 確認
% which pkg-config
/usr/local/bin/pkg-config
# pkg-config インストール
brew install pkg-config
# 確認
% which pkg-config
/usr/local/bin/pkg-config
No package 'krb5' found
No package 'krb5' found
krb5 が無いのでインストールする
krb5 ネットワーク認証プロトコル
https://web.mit.edu/kerberos/ https://formulae.brew.sh/formula/krb5
krb5 をインストール
# krb5 インストール
brew install krb5
以下のコマンドを実行してパスを通し、PKG_CONFIG_PATH に追加する
# パスを通す
echo 'export PATH="/usr/local/opt/krb5/bin:$PATH"' >> ~/.zshrc
# PKG_CONFIG_PATH を設定
echo 'export PKG_CONFIG_PATH="/usr/local/opt/krb5/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.zshrc
# .zshrc を再読み込み
source ~/.zshrc
No package 'openssl' found
No package 'openssl' found
openssl が無いのでインストール
openssl@1.1 暗号化 & SSL/TLS ツールキット
https://www.openssl.org/ https://formulae.brew.sh/formula/openssl@1.1
openssl をインストール
# openssl インストール
brew install openssl@1.1
以下のコマンドを実行してパスを通し、PKG_CONFIG_PATH に追加する
# パスを通す
echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc
# PKG_CONFIG_PATH を設定
echo 'export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.zshrc
# .zshrc を再読み込み
source ~/.zshrc
Please reinstall the BZip2 distribution
configure: WARNING: unrecognized options: --with-png-dir, --with-libxml-dir, --with-icu-dir, --with-libxml-dir
configure: error: Please reinstall the BZip2 distribution
./configure: line 349: sort: No such file or directory
./configure: line 346: sed: No such file or directory
PHP_RPATHS と PHP_BUILD_CONFIGURE_OPTS を指定してあげる
PHP_RPATHS="/usr/local/opt/bzip2/lib" PHP_BUILD_CONFIGURE_OPTS="--with-bz2=/usr/local/opt/bzip2" phpenv install 7.x.x
No package 'icu-i18n' found
No package 'icu-i18n' found
icu4c が無いのでインストール
# icu4c インストール
brew install icu4c
# パスを通す
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc
# PKG_CONFIG_PATH を設定
echo 'export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.zshrc
# .zshrc を再読み込み
source ~/.zshrc
No package 'oniguruma' found
No package 'oniguruma' found
oniguruma が無いのでインストール
oniguruma 正規表現ライブラリ
https://github.com/kkos/oniguruma/ https://formulae.brew.sh/formula/oniguruma
# oniguruma インストール
brew install oniguruma
まとめ
PHP のバージョンを切り替えて使う事ができると状況に応じて使い分けられたりして便利なので、必要があれば導入してみてください。