报错:dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
问题来源
mac操作系统在 phpstorm 中安装 npm 后开始报错
影响
- 命令台窗口使用不了php命令。出现报错内容如下:
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
[1] 8712 abort php --version
2. 重启php-fpm和nginx后,报404错误
分析
1. 查找 /usr/local/opt/icu4c/lib/ 目录下当前的的libicui18n版本,发现当前版本的php需要加载的libicui18n.63.dylib并未存在,应该是更新 npm 时已经覆盖了。
2. 检查当前环境php版本为:7.3.0 。目前php的最新版本已更新至 7.4.1
解决方法有二
1. 根据分析1的结果,重新下载符合当前php版本的libicui18n.63.dylib。
1. 下载地址为:https://github.com/unicode-org/icu/releases
2. 下载后解压,并进入 icu 目录
3. 执行
cd ./source
./configure
make & make install
2. 根据分析2的结果 ,更新最新的php 版本。
1. brew upgrade php
如果提示:
Error: The following formula
[#<Dependency: "python" []>, #<Options: []>]
cannot be installed as binary package and must be built from source.
Install the Command Line Tools:
xcode-select --install
则直接执行 xcode-select --install。并等待更新完毕后重新执行更新php操作