dyld:库未加载:在Mac上使用brew安装节点后,运行php的/usr/local/opt/icu4c/lib/libicui18n.62.dylib错误

我使用自制软件(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

我尝试同时卸载节点和icu4c,但问题仍然存在

阿飞2020/03/23 11:34:36

在安装php 7.3之后也遇到了此错误。我已经解决了升级我的旧php版本(5.6和7.0,不是来自官方仓库)的问题。

维护人员已针对当前的icu4c编译了新的php版本。

就我而言,PHP 7从0.31升至0.33,问题得以解决。

Gil伽罗小宇宙2020/03/23 11:34:36

在这里关注了这篇文章,这似乎是我缺少的难题:

brew uninstall node@8

Tony路易2020/03/23 11:34:36

为了降级,我不得不从源代码重新编译(MacOS Mojave)

$ wget https://ssl.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz
$ tar xvfz icu4c-62_1-src.tgz
$ cd icu/sources
$ ./configure
$ make
$ make install
古一2020/03/23 11:34:36

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

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

这将构建php并将其链接到更新的库。我发现reinstall工作还不够。当目标文件夹已经存在时,新安装将停止。

我也brew link --force php@7.2为我的环境而努力。

蛋蛋猿2020/03/23 11:34:36

对我来说,brew reinstall nodejs此问题已解决-我的问题是运行Elixir / Phoenix,而不是特定于PHP,我认为这是由引起的brew install postgres,但是重新安装并没有帮助。我从npm命令中得到它

老丝2020/03/23 11:34:36

Leland的答案对我有用,但是我必须将步骤4和6更改为:

4)git checkout -B icu4c-62.1 575eb4b

6)brew重新安装Formula / icu4c.rb

乐Sam2020/03/23 11:34:35

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

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

凯A2020/03/23 11:34:35

好像是不可能的链接icu4c使用brew最新的OS X更新后。这使事情变得更有趣。我发现对我有用的唯一解决方案:

  1. icu4c62.1 下载并编译/usr/local/icu4c/62.1
mkdir ~/sources
cd ~/sources
wget http://download.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz
tar xvzf icu4c-62_1-src.tgz
cd icu/source/

sudo mkdir /usr/local/icu4c/62.1
./configure --prefix=/usr/local/icu4c/62.1
make
sudo make install
  1. 链接库:
ln -s /usr/local/icu4c/62.1/lib/*.dylib /usr/local/include/
  1. 设置DYLD_LIBRARY_PATH~/.bash_profile
export DYLD_LIBRARY_PATH=/usr/local/include
Tony米亚2020/03/23 11:34:35

公正brew remove phpbrew install php没有工作,也没有brew reinstall 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 )
2020/03/23 11:34:35

brew update && brew upgrade 为我工作

宝儿十三2020/03/23 11:34:35

这为我解决了:

brew upgrade node
LGil2020/03/23 11:34:35

在MacOS Mojave上,唯一可以解决的方法是 brew upgrade

宝儿理查德2020/03/23 11:34:35

注意 -这将升级您的PHP版本。

我只是有同样的问题。升级Homebrew然后进行清理对​​我有用。由于软件包版本不匹配,此错误可能对我显示。上面的解决方案都不能解决我的错误,但是运行以下自制程序命令可以解决。

brew upgrade

注意 -这将升级您的所有冲煮包装。如果只想升级特定的软件包,请确保特定。

brew upgrade // for upgrading all packages -- this is the command I used

brew upgrade {package} // for upgrading a specific package

接着

brew cleanup
伽罗路易Tom2020/03/23 11:34:35

运行npm version,看看是否看到相同的错误。

如果是这样,请升级您的节点版本brew upgrade npm

==> Upgrading 1 outdated package, with result:
npm 8.1.2 -> 10.3.0
==> Upgrading npm
==> Installing dependencies for node: icu4c
==> Installing node dependency: icu4c

学分

Gil伽罗小宇宙2020/03/23 11:34:35

原来,我像@Grey Black一样,必须实际安装icu4c的v62.1。没有其他工作。

但是,brew switch icu4c 62.1仅当您以前安装62.1时才有效。如果没有,则涉及更多的腿部工作。Homebrew 使得安装以前版本的公式变得不容易

这是我的操作方式:

  1. 我们首先需要对Homebrew存储库进行深度克隆。可能还要等一下:git -C $(brew --repo homebrew/core) fetch --unshallow
  2. brew log icu4c跟踪引用62.1的提交;575eb4b绝招。
  3. cd $(brew --repo homebrew/core)
  4. git checkout 575eb4b -- Formula/icu4c.rb
  5. brew uninstall --ignore-dependencies icu4c
  6. brew install icu4c您现在应该具有正确版本的依赖项!现在只是...
  7. git reset && git checkout . 清理修改后的配方。
宝儿理查德2020/03/23 11:34:35

就我而言,这是因为将icu4c升级到了版本63,但我在本地安装的postgres映像仍引用了icu4c 62.1。因此,我不得不更改使用的icu4c版本:

 brew info icu4c
 brew switch icu4c <version>

version所返回的安装版本在哪里?info

Gil2020/03/23 11:34:35

升级macOS到version 后,我遇到了同样的问题10.13.6我无法运行composerphp命令。经过一段时间的研究并尝试了各种在线发布的解决方案,然后重新安装php homebrew

brew reinstall php@7.1

根据Ryan的评论于3月14日添加

通过运行php -v获取当前正在使用的版本,并获取正确的公式(可以在此处找到:https : //formulae.brew.sh/formula/php)以替换@7.1上面的命令。

村村2020/03/23 11:34:35

实际上,令我惊讶的是该解决方案尚未提出,我觉得这是最简单的解决方案。

去GitHub上,找到的版本匹配的brewfile的版本icu4c,你需要和获取文件的原始版本(按照上面的链接,点击View File然后Raw)。

然后只需从该URL重新安装brew。

例如,version 62.1

brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb