Skip to main content

[Node] Mac m 芯片使用 node 14

Updated 1 min readMarkdown
[Node] Mac m 芯片使用 node 14

最近在 m 芯片的 mac 电脑上使用 node 14 版本,遇到了芯片架构不兼容的错误,所以记录一下解决问题的过程

遇到的问题

原因是 node 14 版本只支持 x86_64 架构的芯片,所以使用 arm 架构的 m 芯片就会报错

解决方案

前置知识

在 m 芯片的 mac 上,node 16 及以上的版本全面支持了 arm 芯片架构;如果要安装 16 以下的版本,需要通过 Rosetta 2 转译执行

步骤

按照 nvm 官方的步骤进行:https://github.com/nvm-sh/nvm#nvmrc

  1. 安装 Rosetta 2
softwareupdate --install-rosetta
  1. 打开一个 sub shell,通过 x86_64 架构运行 zsh
arch -x86_64 zsh
  1. source 一下 nvm 的路径
source "${NVM_DIR}/nvm.sh"

Trouble shooting

如果在执行 arch -x86_64 zsh 时,遇到了 zsh: bad CPU type in executable 的错误,那么按照以下步骤执行,参考:https://apple.stackexchange.com/questions/408375/zsh-bad-cpu-type-in-executable

which -a zsh

然后会发现,有两个 zsh 的命令路径:

/opt/homebrew/bin/zsh
/bin/zsh

删除掉 homebrew 下载的即可:

brew uninstall zsh

然后重新执行上面的 nvm 官方给出的步骤就可以了

No comments yet. Be the first to comment.

More from this blog