我使用Homebrew (Mojave)安装了Node.js后,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,但问题仍然存在。
我使用Homebrew (Mojave)安装了Node.js后,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
的答案。我在使用 postgresql
时遇到了同样的错误,我想这可能会在依赖动态链接该库的各种程序中出现。postgresql
,即 postgresql@12
。我发现最简单的解决方法是重新安装它。brew reinstall postgresql@12
php
同样适用。brew reinstall postgresql@14
,brew doctor
和 brew cleanup
后起作用了。 - timgavinbrew upgrade
。xcode-select --install
命令可以解决该问题。我遇到了问题,因为我的PHP版本(7.3)需要icu4c 63,而brew只安装64。
最初的回答 帮助我安装了63。
icu4c
,以便与旧版(预编译)的 php 进行链接,不如重新编译旧版 php,以链接到更新的库。"最初的回答"brew uninstall php@7.2
brew install --build-from-source php@7.2
brew link --force php@7.2
。brew switch icu4c 62.1
命令对我有效。 - Jamie Birch在我的Mac OS 11.6.8 Big Sur上运行良好。
$ 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
又可以正常使用了。
Leland的答案对我有用,但我必须更改第4步和第6步:
4) git checkout -B icu4c-62.1 575eb4b
6) brew reinstall Formula/icu4c.rb
我通过更新所有的R包来解决int问题:
update.packages(checkBuilt = TRUE, ask = FALSE)
/usr/local/opt/icu4c
目录不存在,并且brew reinstall icu4c
命令在 icu4c 目录上出现了很多 "permission denied" 错误。所以我使用了sudo rm -rf /usr/local/Cellar/icu4c
命令删除了目录,然后再次执行brew reinstall icu4c
命令,一切都正常了。 - Seth Johnsonbrew upgrade
就帮助了我。 - Maxim Yefremov