我使用自制(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,但问题仍然存在


当前回答

如果你有最新的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时消失,但这可能是最快的修复方法。

其他回答

我遇到了问题,因为我的PHP(7.3)版本期望icu4c 63,而brew只会安装64。

https://stackoverflow.com/a/55828190/2000947帮我安装了63。

实际上,我直接在自制网页上找到了解决方案:https://docs.brew.sh/Common-Issues

升级macOS会导致以下错误:

/usr/local/opt/icu4c/lib/libicui18n.54.dylib:库未加载 配置错误:不能找到libz 在macOS升级后,可能需要重新安装Xcode命令行工具并酿造升级所有已安装的公式:

xcode-select --install
brew upgrade

在我的案例中,问题与升级操作系统无关,但解决方案很有效。

Leland的答案对我来说很管用,但我不得不把第4步和第6步改为:

4) git checkout -B icu4c-62.1 575eb4b

6) brew重装Formula/icu4c.rb

我通过更新所有R包来解决int:

update.packages(checkBuilt = TRUE, ask = FALSE)

在MacOS Mojave上,我唯一能修复它的方法是brew升级