Node.js 在M1 Mac上安装节点

Node.js 在M1 Mac上安装节点,node.js,homebrew,apple-silicon,rosetta,Node.js,Homebrew,Apple Silicon,Rosetta,关于二进制文件、处理器以及它们如何协同工作的问题,这里有点不着边际: 我有一个带有M1芯片的新Mac,想安装Node。我习惯于用自制的。现在,如果我安装自制软件,强烈建议我使用Rosetta,我就是这么做的。下一步:安装节点。因此,我不使用brew安装节点,而是使用arch-x86\u 64 brew安装节点 这很好,只是我想知道,我现在是否以次优方式使用节点?Node是否也在使用Rosetta,而不是直接在M1芯片上运行?我刚买了M1 Mac mini。我确实添加了一个别名,因为我在alias

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

我有一个带有M1芯片的新Mac,想安装Node。我习惯于用自制的。现在,如果我安装自制软件,强烈建议我使用Rosetta,我就是这么做的。下一步:安装节点。因此,我不使用
brew安装节点
,而是使用
arch-x86\u 64 brew安装节点


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

我刚买了M1 Mac mini。我确实添加了一个别名,因为我在
alias brew='arch-x86_64 brew
~/.zshrc
中使用了oh my zsh,所以我不必一直键入这些内容。我
brew安装nvm
然后
nvm ls remote
并安装了v15.5.0。它的构建
DV8\u TARGET\u ARCH\u ARM64

希望有帮助。我还提取了ARM64的内部代码。一秒钟就可以加载

>节点-p“process.arch”
arm64

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

Nvm install 14.15.3(当前LTS)对我来说在任何尝试中都没有成功(使用brew arch-x86_64前缀)。但是,我能够:

  • 从github安装nvm(将“export”字符串放入~/.zhrc并执行)
  • nvm安装15

注意:这个VSCode版本也适用于我:如果您还没有安装rosseta2,请使用rosseta2打开终端 只要看看我的博客就可以了

使用此命令安装自制软件

arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
现在点击这个命令来安装nodejs或任何你想要的东西

arch -x86_64 brew install <package>
arch-x86\u 64 brew安装

谢谢。

根据您的项目依赖关系,您可能会发现有必要在x86体系结构上运行node,因为它可以帮助您克服旧版本node上令人沮丧的错误。如果像我一样,您已经在此处尝试安装了node,您可以使用以下帮助进行排序(假设您已经安装了NVM):

考虑将上面的
14
替换为您尝试运行的节点版本

安装后,可以运行node followed process.arch以确认节点正在x64模式下运行:

$ node
> process.arch
'x64'

看起来他们在v14上有一个未解决的问题很好。问题似乎是节点v14和早期版本的v8使用的不是为apple silicon构建的版本,因此他们必须将允许其构建的v8更改向后移植,以便为apple silicon发布节点12或节点14。有点烦人,但可以理解:-/
$ node
> process.arch
'x64'