概要
PHPのバージョン管理するためとxdebugが簡単にインストールできると聞き、これはphpbrewを導入するしかないと思い立ったところ、エラーで結構詰まったのでその話を書きます。
brew link --force
ができない?!
phpbrewをインストールするために色々な記事を読んだ感覚としては、
- インストールしようとしたら、ライブラリがないことでエラーが出る
-
brew install
で必要なライブラリをインストールする -
brew link --force
でライブラリのシンボリックリンクを作成する ←これ - 再インストールすると成功する
という流れでしたが自分のMac環境で実行すると以下のワーニングが出てしまって、このままインストールを続行してもライブラリが見つからないというエラーが頻出して作業中断してしまいました(もちろん環境変数の設定もしましたよ)。
$ brew link zlib --force
Warning: Refusing to link macOS-provided software: zlib
For compilers to find zlib you may need to set:
export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"
どうやらhomebrewからMacが提供しているソフトウェアにリンク貼ることができなくなってしまっていたみたいでした。
https://nathankleyn.com/2019/01/15/homebrew-system-util-breaking-change/
解決策
以下のように設定してコマンド投げたらうまくいきました!
$ phpbrew install 7.2.9 +default +mysql +pdo \
+bz2="$(brew --prefix bzip2)" +zlib="$(brew --prefix zlib)" \
+curl="$(brew --prefix curl)" +iconv="$(brew --prefix libiconv)"
何をしているかというと phpbrew install
を実行しとときに出力されたエラーのライブラリに対してパスを教えてあげています。
各ライブラリのパスを直打ちしてもいいのですが、 brew --prefix
でパスを出力してくれるので便利です。
$ brew --prefix zlib
/usr/local/opt/zlib