在M1 Mac上运行旧版本的Node.js确实可能会遇到兼容性问题,因为某些旧版本的Node.js并不直接支持ARM架构。但是可以使用Rosetta 2解决
使用Rosetta 2: M1 Mac提供了Rosetta 2,这是一种转换层,可以允许在ARM架构上运行为Intel x86架构编译的软件。通过在终端使用arch -x86_64
前缀来强制使用Rosetta 2运行Node.js。
使用 Rosetta 2 来运行不支持 ARM 架构的 Node.js 版本是一个比较直接的方法
1.安装 Rosetta 2
如果你的 M1 Mac 还没有安装 Rosetta 2,你可以打开终端(Terminal)并运行以下命令来安装它:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
这个命令会提示你同意许可协议,之后会自动下载并安装 Rosetta 2。
2.使用命令行启动 Rosetta
通过在终端中使用特定的命令来启动使用 Rosetta 的应用程序。
-
打开一个新的终端窗口。
-
输入以下命令:
arch -x86_64 zsh
这将在当前终端窗口中启动一个新的使用 Rosetta 的
zsh
会话。也可以替换zsh
为bash
或任何其他 shell。
一旦启动了使用 Rosetta 的终端,就可以在其中安装和使用 x86_64 版本的 Node.js,就像在传统的 Intel 架构 Mac 上一样。这样做可以确保兼容性,特别是对于那些还没有为 M1 芯片优化的软件包和工具。
3.然后就可以用 nvm
管理器切换到旧版本node,之后就可以启动项目啦
nvm use 14.19.1
npm run serve
这样,任何 Node.js 相关的命令都会通过 Rosetta 2 在 x86 架构模拟环境中运行。
标签:Node,Rosetta,x86,js,Mac,M1 From: https://blog.csdn.net/qq_39399012/article/details/139641085