17

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

$> 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 来代替?

4

1 回答 1

1

摆脱 brew 的 node 、 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:我还必须解决 brew*&^%@#*与 mysql 的冲突,并从 Oracle 发行版安装硬 mysql。

于 2020-07-05T23:57:55.410 回答