![[Node] Mac m 芯片使用 node 14](https://cdn.hashnode.com/res/hashnode/image/upload/v1752243750001/cf2a586a-c5f8-488c-84a7-a3f7068f34b2.jpeg)
最近在 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
- 安装 Rosetta 2
softwareupdate --install-rosetta
- 打开一个 sub shell,通过
x86_64架构运行zsh
arch -x86_64 zsh
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 官方给出的步骤就可以了
Comments
Join the discussionNo comments yet. Be the first to comment.

