我使用自制(Mojave)安装节点,之后php停止工作,如果我尝试运行php -v,我会得到这个错误:
php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
我尝试卸载node和icu4c,但问题仍然存在
我使用自制(Mojave)安装节点,之后php停止工作,如果我尝试运行php -v,我会得到这个错误:
php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
我尝试卸载node和icu4c,但问题仍然存在
当前回答
Brew update && Brew upgrade对我来说很有效
其他回答
在安装php 7.3后也得到这个错误。我已经解决了升级旧的php版本(5.6和7.0,不是从官方回购)。
维护者根据当前的icu4c编译了新的php版本。
在我的例子中,PHP 7从0.31升级到0.33,问题得到了解决。
Brew update && Brew upgrade对我来说很有效
[2022 Build It Yourself Edition]
适用于我的Mac OS 11.6.8大苏尔。
$ wget https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz
$ # In Finder, copy from Downloads/ to your home directory
$ tar xzvf icu4c-69_1-src.tgz
$ cd icu/source
$ ./configure
$ make
$ make install
在那之后,node和npm又开始工作了。
参考文献
@Taher的回答 https://stackoverflow.com/a/63045892/16681513
在我的情况下,我重新安装与Homebrew安装的所有包
$ brew list | xargs brew reinstall
之后,我开始安装我需要的版本
如果你有最新的icu4c版本,并且像我一样遭受软件脆弱的折磨,只想让postgres/任何东西工作:
$ brew upgrade icu4c
Warning: icu4c 69.1 already installed
然后你可以创建符号链接:
> dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicuuc.68.dylib
cd /usr/local/opt/icu4c/lib
ln -s libicuuc.69.1.dylib libicuuc.68.dylib
ln -s libicuio.69.1.dylib libicui18n.68.dylib
这些符号链接将在您第一次更新icu4c时消失,但这可能是最快的修复方法。