Mac PHP 動作しなくなった

個人端末のMacにてローカルで作業しようとしたところ、エラーが発生してしまいました。。。php -vコマンドをターミナルで打つとラーメッセージ!
同じような方がいらっしゃったので、メモレベルで残しました。

スポンサーリンク

エラーメッセージ

「dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib」

$ php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
zsh: abort      php -v

Library not loaded:ライブラリの読み込みに失敗している様子….

icu4

検索にはhitしたけど、該当ページはもうエラーで見れなくなっていた。。

brewformulasで検索

どうも調べたところ、同じようにエラーが出ている方がいました。

stackoverflowにも類似エラーが出ている方発見。

stackoverflow 類似エラー

解決策1

icu4cのバージョンを変更する

$ brew info icu4c
$ brew switch icu4c <version>

解決策2

homebrewのアップグレードをする

# 全てアップグレードして良い場合
$ brew upgrade
or
# 特定パッケージのみアップグレードする場合
$ brew upgrade {package名}

私の場合は、特に指定せずにbrew upgradeしたら解消しました。

$ php -v
 PHP 7.3.10 (cli) (built: Oct  3 2019 11:52:47) ( NTS )
 Copyright (c) 1997-2018 The PHP Group
 Zend Engine v3.3.10, Copyright (c) 1998-2018 Zend Technologies
     with Zend OPcache v7.3.10, Copyright (c) 1999-2018, by Zend Technologies

補足

cleanupするとnodeの10.0.0を手動で消してくれとエラーが出ていた。

$ brew cleanup
......
Error: Could not remove node keg! Do so manually:
  sudo rm -rf /usr/local/Cellar/node/10.0.0
VCS_INFO_formats:32: VCS_INFO_reposub: function definition file not found
# マニュアルで決して、nodeを入れ直しました。
$ sudo rm -rf /usr/local/Cellar/node/10.0.0
$ brew reinstall node
$ brew cleanup
...特にエラーなく消せました。

解決してよかった!