• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

解决macos使用brew安装php.2后,老版本提示‘/usr/local/opt/icu4c/lib/libicui18n.70.dylib‘ (no such file)

武飞扬头像
小卡车7号
帮助3

原本安装了php7.2,使用brew安装php8.2之后,php 7.2无法使用了,提示:

/usr/local/opt/php@7.2/bin/php -v                
dyld[49280]: Library not loaded: '/usr/local/opt/icu4c/lib/libicui18n.70.dylib'
  Referenced from: '/usr/local/Cellar/php@7.2/7.2.34_4/bin/php'
  Reason: tried: '/usr/local/opt/icu4c/lib/libicui18n.70.dylib' (no such file), '/usr/local/lib/libicui18n.70.dylib' (no such file), '/usr/lib/libicui18n.70.dylib' (no such file), '/usr/local/Cellar/icu4c/72.1/lib/libicui18n.70.dylib' (no such file), '/usr/local/lib/libicui18n.70.dylib' (no such file), '/usr/lib/libicui18n.70.dylib' (no such file)
[1]    49280 abort      /usr/local/opt/php@7.2/bin/php -v

可以看到/usr/local/opt/icu4c/lib/下没有对应文件了。
今天使用另一种方式来修复。
修复步骤如下:

1、找到icu4c 7.0的代码,安装下

进入目录:

cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula

找到icu4c 7.0的git log:

git log --follow icu4c.rb

这里耐心等待下,log比较多,等多几秒就能看到icu4c 7.0的提交记录。
找到后检出代码:

git checkout -b icu4c-70 aa997d1c221d249325e56c238acb90ef7b4e0fc9

安装一下:

brew reinstall ./icu4c.rb

安装完成后,会看到/usr/local/opt/icu4c/lib/下有了libicui18n.70.dylib这些文件

2、重新安装最新的icu4c

步骤1完成后,可以使用php7.2了,但php8.2无法使用,提示缺少libicui18n.72.dylib这些文件。
这里需要先把libicui18n.70.dylib这些文件复制到另一个目录,重新安装下icu4c,安装完成后,再把libicui18n.70.dylib这些文件放到/usr/local/opt/icu4c/lib/下。
把libicui18n.70.dylib这些文件复制到/tmp下

cp /usr/local/opt/icu4c/lib/*70* /tmp

重新安装icu4c, 注意不要在git源码目录下

cd ~
brew reinstall icu4c

安装完成后,php 8.2可以使用了,把libicui18n.70.dylib这些文件放回来:

cp /tmp/*70* /usr/local/opt/icu4c/lib/

至此修复完成,两个版本的php都可以使用了。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfiacbi
系列文章
更多 icon
同类精品
更多 icon
继续加载