我使用自制(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 uninstall node@8
其他回答
我通过更新所有R包来解决int:
update.packages(checkBuilt = TRUE, ask = FALSE)
在我的情况下,我不得不在两个版本的icu4c之间切换,因为我仍然维护PHP 5.6项目(使用旧的icu4c 64.2)。由于某些原因,从原始.rb链接进行安装和重新安装总是会替换以前安装的版本。
#fetching 64.2
brew fetch https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
#fetching stable version
brew fetch https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/icu4c.rb
cd $(brew --cache)/downloads
tar xvfz e2a83648f37dc5193016ce14fa6faeb97460258b214e805b1d7ce8956e83c1a7--icu4c-64.2.catalina.bottle.tar.gz
tar xvfz e045a709e2e21df31e66144a637f0c77dfc154f60183c89e6b04afa2fbda28ba--icu4c-67.1.catalina.bottle.tar.gz
mv -n icu4c/67.1 $(brew --cellar)/icu4c/
mv -n icu4c/64.2 $(brew --cellar)/icu4c/
然后在版本之间切换
$ brew switch icu4c 64.2
Cleaning /usr/local/Cellar/icu4c/64.2
Cleaning /usr/local/Cellar/icu4c/67.1
Opt link created for /usr/local/Cellar/icu4c/64.2
$ brew switch icu4c 67.1
Cleaning /usr/local/Cellar/icu4c/64.2
Cleaning /usr/local/Cellar/icu4c/67.1
Opt link created for /usr/local/Cellar/icu4c/67.1
[2020]版
对我来说,就是用所需的版本安装icu4c。
如果你需要安装旧版本,如版本62,(其他版本相同的步骤),你需要:
用这个版本创建自己的repo(或找别人的repo) Brew tap(每个版本的链接都不同):
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
yourUsername / homebrew-versions /公式/ 将下载的文件放入“公式”文件夹 brew tap [yourUsername]/homebrew-versions brew install [yourUsername]/homebrew-versions/icu4c .使用实例 你说对了!
其中[yourUsername]是您的GitHub帐户或已经拥有所需版本的人的名称。
Unfortunately, latest homebrew gives no longer a warning and now displays the error: Error: Calling Installation of XXX from a GitHub commit URL is disabled! Use 'brew extract XXX' to stable tap on GitHub instead. So the way to go now is to create a new repo on github called homebrew-versions to host the Formula in a Tap Then initialise it with: brew tap-new MYORG/homebrew-versions after git cloning the homebrew repo as suggested by Shine Hugh, copy paste the raw ruby file to your new Formula. Beware the funny naming convention! Example: File name is: gettext@0.20.2.rb Class name is: GettextAT0202 Example: https://github.com/nedap/homebrew-versions source:https://itnext.io/how-to-install-an-older-brew-package-add141e58d32
这是最后对我有用的方法。
酿造重新安装postgres
运行上述命令后,您可能需要运行
酿造postgresql-upgrade-database
访问您以前的数据。
我只是想留下一个关于当前如何修复这个问题的详细总结(这对我来说很有效):
首先去本地安装自制软件
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