ふと気づいたらphpコマンドが効かなくなっていて、こんなエラーが出る状態に。
$ php -v
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.8.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Abort trap: 6
で、修正方法については下記にそれらしいことが色々書いてあるんだけど、
php72 install libjpeg.8.dylib not found · Issue #4358 · Homebrew/homebrew-php · GitHub
ちょうど良いやとphpのバージョンアップをすることにした。
古いバージョンのphpをアンインストール
brew uninstall josegonzalez/php/php55
…なんだけど、依存関係のあるFormulaがあるとエラーになるので、事前にアンインストール
brew uninstall josegonzalez/php/php55-intl
brew uninstall josegonzalez/php/php55-pdo-pgsql
brew uninstall josegonzalez/php/php55-xdebug
こんなん入れてたっけ?まあ、いいや。
改めてphp55のアンインストールで完了。
新しいバージョンのphpをインストール
brew search php7
で見てみると7.0, 7.1, 7.2とかが入っていたけど、関連formuraの数で最新の7.2は見送り、7.2でインストールすることに。
brew install josegonzalez/php/php71
関連して必要そうなformuraも入れておく(まあ、必要になった時に追加でも良いけど)
brew install josegonzalez/php/php71-imagick
brew install josegonzalez/php/php71-pdo-pgsql
brew install josegonzalez/php/php71-intl
brew install josegonzalez/php/php71-xdebug
phpの問題を解決
ここまでやったけど、結局問題は解決しておらず。
$ php -v
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Abort trap: 6
あれ?libjpeg
のバージョンが上がってる?
再び、調べたページを参照して、不足しているらしいファイルのシンボリックリンクを作って対処
php72 install libjpeg.8.dylib not found · Issue #4358 · Homebrew/homebrew-php · GitHub
sudo ln -s /usr/local/Cellar/jpeg/9c/lib/libjpeg.9.dylib /usr/local/opt/jpeg/lib/libjpeg.9.dylib
改めて確認すると、ちゃんとPHPのバージョンアップが終わってエラーも解消していました。
$ php -v
PHP 7.1.14 (cli) (built: Feb 2 2018 08:41:46) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
めでたしめでたし。