在 M1 Mac 上安装 Node

Sve*_*ies 16 homebrew node.js rosetta apple-silicon

关于二进制文件、处理器以及它们如何协同工作的问题,这里有点菜鸟:

我有一台带有 M1 芯片的新 Mac,想安装 Node.js。我习惯用 Homebrew 来做这件事。现在,如果我安装 Homebrew,强烈建议我使用 Rosetta,所以我这样做了。下一步:安装节点。所以,而不是brew install node我做arch -x86_64 brew install node

这很好用,只是我想知道,我现在是否以次优方式使用节点?Node 是否也在使用 Rosetta,而不是直接在 M1 芯片上运行?

Sat*_*ors 49

根据您的项目依赖项,您可能会发现有必要在 x86 架构上运行 Node,因为它可能会让您在旧版本的 Node 上遇到令人沮丧的错误。如果像我一样,您已经在尝试中安装了 Node,则可以使用以下命令来帮助您进行排序(假设您已经安装了 NVM):

$ nvm uninstall 14
$ arch -x86_64 zsh 
$ nvm install 14
$ nvm alias default 14
Run Code Online (Sandbox Code Playgroud)

考虑将14上面的内容替换为您尝试在其下运行的任何节点版本。

安装后,您可以运行node,然后运行process.arch来确认node正在x64模式下运行:

$ node
> process.arch
'x64'
Run Code Online (Sandbox Code Playgroud)

  • @Akhila 尝试 `arch -arm64 zsh` (2认同)

Luí*_*chi 19

从节点 v16.x 开始:

在此输入图像描述 https://doesitarm.com/app/nodejs/

在此输入图像描述

PS:node v16 在 serverless-offline 方面存在问题。我设法使用节点 v15.4.0 解决它


从节点 v15.x 开始:

sudo xcode-select --install
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
nvm install v15
node --version
Run Code Online (Sandbox Code Playgroud)


Mar*_*ark 11

我刚拿到 M1 Mac mini。我确实添加了一个别名,因为我使用 oh-my-zsh 到我的~/.zshrcforalias brew='arch -x86_64 brew所以我不必继续输入所有这些。brew install nvm然后我nvm ls-remote安装了 v15.5.0。它被建成DV8_TARGET_ARCH_ARM64

希望有帮助。我还拉了内部人士 VSCode for ARM64。一秒钟加载。

> node -p "process.arch" arm64

不要忘记您需要xcode-select --install命令行工具(~450MB)。


che*_*rui 11

由于 Node v16 本身支持 Apple Silicon,brew install node或者nvm install 16可以在 Apple M1 笔记本电脑上运行。

这是我当前的构建。

$ nvm --version
0.39.0

$ node --version
v16.13.1

$ node -p "process.arch"
arm64
Run Code Online (Sandbox Code Playgroud)