由Homebrew安装的两个版本的icu4c

2022-08-30 23:47:17

每当我尝试在Mac上运行时,我都会收到以下错误:npm --versionnode --version

$> node --version
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found
Abort trap: 6

我发现这个有用的SO帖子建议链接适当的版本,并修复了我的问题:

$> brew switch icu4c 63.1
Cleaning /usr/local/Cellar/icu4c/64.2
Cleaning /usr/local/Cellar/icu4c/63.1
Opt link created for /usr/local/Cellar/icu4c/63.1

但是,在执行此操作后,PHP停止工作:

$> tail /usr/local/var/log/php-fpm.log
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
  Referenced from: /usr/local/opt/php/sbin/php-fpm
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
  Referenced from: /usr/local/opt/php/sbin/php-fpm
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
  Referenced from: /usr/local/opt/php/sbin/php-fpm
  Reason: image not found

我发现这个有用的SO帖子建议链接适当的版本,并修复了我的问题:

$> brew switch icu4c 64.2
Cleaning /usr/local/Cellar/icu4c/64.2
Cleaning /usr/local/Cellar/icu4c/63.1
Opt link created for /usr/local/Cellar/icu4c/64.2

但是现在NodeJS又坏了!如何告诉 Homebrew 创建个链接,一个用于 63.1,一个用于 64.2?或者有没有办法告诉NodeJS使用更新的64.2?


答案 1

摆脱酿造的节点,npm等...

然后像这样在您的用户帐户中安装nvm。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

安装后,安装您梦想中的节点(例如)

nvm install v12    

它将安装 LTS 版本 12 及其 npm。

您还可以安装多个节点,并使用 nvm 轻松切换。

在这里阅读有关它的信息。特别是关于设置一些导出。

最后,选择您选择的php。

pf : 我还必须解决与 mysql 冲突的 brew *&^%@#* 问题,并从 Oracle 发行版安装硬 mysql。


答案 2

推荐