我使用自制(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 reinstall icu4c
Then
gem uninstall charlock_holmes
gem install charlock_holmes
其他回答
我只是想留下一个关于当前如何修复这个问题的详细总结(这对我来说很有效):
首先去本地安装自制软件
cd /usr/local/Homebrew/
Homebrew > 2.5删除了直接从git回购中安装公式的选项,所以我们需要签出一个旧版本
git checkout 2.3.0
安装icu4c版本(在我的情况下,64.2与php@7.1兼容)
HOMEBREW_NO_AUTO_UPDATE=1 brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
回到当前版本的自制
git checkout -
告诉brew使用旧版本的icu4c,这样如果你已经安装了两个版本,你可以选择使用哪个版本
brew switch icu4c 64.2
Brew update && Brew upgrade对我来说很有效
这是最后对我有用的方法。
酿造重新安装postgres
运行上述命令后,您可能需要运行
酿造postgresql-upgrade-database
访问您以前的数据。
2021-02简单解决方案
在处理这个问题多年后,下面的解决方案对我来说非常简单:
在您需要的版本的web浏览器中打开原始文件:
版本62:https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb
版本64:https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
版本66:https://raw.githubusercontent.com/Homebrew/homebrew-core/22fb699a417093cd1440857134c530f1e3794f7d/Formula/icu4c.rb
版本67:https://raw.githubusercontent.com/Homebrew/homebrew-core/88b9cc789820f2f544d8d4a1053eebb044c2926c/Formula/icu4c.rb
最新版本:https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/icu4c.rb
复制粘贴内容到一个名为: icu4c.rb 在新创建的文件上执行以下命令
来源:https://gist.github.com/hgrimelid/703691ab48c4a4d0537cfe835b4d55a6
如果你有最新的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时消失,但这可能是最快的修复方法。