I have php@7.1, php@7.3 in my Mac. After update brew, my php@7.1 got this error Code: ➜ ~ php -vdyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib Referenced from: /usr/local/opt/php@7.1/bin/php Reason: image not found[1] 38924 abort php -vThen check icu4c infoCode: ~ brew info icu4cicu4c: stable 67.1 (bottled) [keg-only]C/C++ and Java libraries for Unicode and globalizationhttp://site.icu-project.org/home/usr/local/Cellar/icu4c/67.1 (257 files, 69.3MB) Poured from bottle on 2020-07-02 at 14:40:28
… As you can see, PHP reference to icu4c version 64
/usr/local/opt/icu4c/lib/libicui18n.64.dylib But icu4c installed in
the brew is version 67 /usr/local/Cellar/icu4c/67.1 icu4c is C/C++ and
Java libraries for Unicode and globalization. When you install the
brew packages, it’ll download .tar.gz file then uncompress and compile
it. In compile process, brew will link package to icu4c version
available in brew Problem is, brew has deprecated php@7.1 so I have to
install php@7.1 from an external source and its link to icu4c v.64 by
default. So solution is to install icu4c version 64 and use brew
switch to switch to suitable icu4c version Bash:
version 62.1: brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb
version 64.2: brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
check avaible icu4c versions on your machine brew info icu4c
switch version. brew switch brew switch icu4c 64.2