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


当前回答

在OSX 10.15.4上运行xcode-select——install修复了这个问题。

其他回答

只是brew remove php和brew install php不工作,也没有brew重装php。 我的解决方案是:

brew remove php
cd /usr/local/Cellar
rm -rf php/
brew install php
brew doctor
brew cleanup

现在php -v给出了:

PHP 7.3.2 (cli) (built: Feb 14 2019 10:08:45) ( NTS )

与其安装旧版本的icu4c,让旧的(预编译的)php可以链接到它,不如重新编译旧的php以链接到最新的库。

brew uninstall php@7.2
brew install --build-from-source php@7.2

这将构建php并将其链接到更新的库。我发现重新安装不太管用;当目标文件夹已经存在时,新的安装阻塞。

我还为我的环境做了brew link -force php@7.2。

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

4) git checkout -B icu4c-62.1 575eb4b

6) brew重装Formula/icu4c.rb

在我的情况下,酿造更新icu4c到版本67.1,所以我的php7.1不能工作。 重新安装icu4c就可以了。

参考:https://devhoi.com/threads/error-dyld-library-not-loaded-usr-local-opt-icu4c-lib-libicui18n-64-dylib-with-php7-1.26/

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

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