Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8952

icu4c がバージョンアップされたせいでphpが動作しなくなったときの解決策

$
0
0

背景

php artisan listなど php のコマンドが実行できなくなった。
php -vすら動作しない。

$ php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.66.dylib
  Reason: image not found

調査

かるく調べてみたところ、 brew yarn install (あまり自信がないがたぶんこれが原因)により、 icu4cがバージョンアップされてしまい、依存関係が崩れてしまったためのようだ。

$ brew info icu4c
icu4c: stable 67.1 (bottled) [keg-only]

どうやら、エラーから察するにこれをv66系にダウングレードする必要がありそう。

ちなみに、phpは phpenvでコントロールしていて、 php7.2.24で稼働しているのだが、 新しめのバージョン(php7.3.11)の場合は依存関係がクリアであるため問題なく動作する。

$ php -v
PHP 7.3.11 (cli) (built: Feb 29 2020 02:50:36) ( NTS )

(今回はphpとの依存関係で発生しているが、他のものとの依存関係は発生すると思うので、どちらかをアップグレード、またはダウングレードして合わせる必要がある。今回はダウングレードを選択した。)

解決策

で、過去のバージョンに切り替えるのだが、過去のバージョンがCellerに残っているとき以下に各バージョンが出てくる。

$ brew info icu4c
icu4c: stable 67.1 (bottled) [keg-only]
C/C++ and Java libraries for Unicode and globalization
http://site.icu-project.org/home
/usr/local/Cellar/icu4c/67.1 (258 files, 71.2MB)
  Poured from bottle on 2020-07-08 at 12:10:46
(ここにずらっとバージョンがならぶ)
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/icu4c.rb

その場合、 brew switch icu4c 66.1みたいな感じで切り替えが可能だが今回はないので、過去コミットから取得してくる必要がある

// Formula へ移動
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula

// コミットを確認ん
$ git log --oneline icu4c.rb
88b9cc7898 icu4c: update 67.1 bottle.
e7d9d76421 icu4c 67.1
22fb699a41 icu4c: update 66.1 bottle.  <-ここに戻したい
c78114de12 icu4c 66.1
a806a621ed icu4c: update homepage and url (#44812)
896d1018c7 icu4c: update 64.2 bottle.

// 戻したいバージョンにアップデート
// これで古いバージョンをインストールする状態になった
$ git checkout 22fb699a41 icu4c.rb
Updated 1 path from f3a60216be

// reinstall
$ brew reinstall icu4c

// バージョンの再確認
$ brew info icu4c
icu4c: stable 66.1 (bottled) [keg-only]

ダウングレードができたので、もう一度 php -vを試してみます。

$ php -v                                                                                                                                                                      (git)-[feature/add_official_account_report]
PHP 7.2.24 (cli) (built: May  3 2020 10:40:39) ( NTS )

無事動きましたとさ

参考文献


Viewing all articles
Browse latest Browse all 8952