在 M1 Mac 上安装节点
Posted
技术标签:
【中文标题】在 M1 Mac 上安装节点【英文标题】:Install Node on M1 Mac 【发布时间】:2021-03-28 06:22:10 【问题描述】:对于有关二进制文件、处理器以及它们如何协同工作的问题,这里有点菜鸟:
我有一台带有 M1 芯片的新 Mac,并且想要安装 Node.js。我习惯用 Homebrew 来做这个。现在,如果我安装 Homebrew,强烈建议我使用 Rosetta,所以我这样做了。下一步:安装节点。所以我用arch -x86_64 brew install node
代替brew install node
。
这很好用,只是我想知道,我现在是否以次优方式使用节点? Node 是否也使用 Rosetta,而不是直接在 M1 芯片上运行?
【问题讨论】:
如果您的安装不正确,请始终执行brew info node
。例如,brew info node@16
为您提供该命令以使其正确运行 echo 'export PATH="/opt/homebrew/opt/node@16/bin:$PATH"' >> ~/.zshrc
。
【参考方案1】:
我刚拿到我的 M1 Mac mini。我确实添加了一个别名,因为我使用 oh-my-zsh 到我的 ~/.zshrc
为 alias brew='arch -x86_64 brew
所以我不必继续输入所有这些。我brew install nvm
然后nvm ls-remote
并安装了v15.5.0。它被构建DV8_TARGET_ARCH_ARM64
。
希望对您有所帮助。我还为ARM64拉了内部人员VSCode。瞬间加载。
> node -p "process.arch"
arm64
别忘了你需要xcode-select --install
命令行工具 (~450MB)。
【讨论】:
【参考方案2】:根据您的项目依赖关系,您可能会发现有必要在 x86 架构上运行 node,因为它可能会让您摆脱旧版本 node.js 上令人沮丧的错误。如果像我一样,您已经在此处尝试安装了 node,您可以使用以下内容来帮助您进行排序(假设您已经安装了 NVM):
$ nvm uninstall 14
$ arch -x86_64 zsh
$ nvm install 14
$ nvm alias default 14
考虑将上面的 14
替换为您尝试运行的任何节点版本。
安装完成后,你可以运行node follow process.arch来确认node是在x64模式下运行的:
$ node
> process.arch
'x64'
【讨论】:
另请参阅此处的 M1 文档:github.com/nvm-sh/nvm#install--update-script【参考方案3】:从节点 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
【讨论】:
对于我们这些不想参与 Homebrew 的人来说,这是一个很好的解决方案。【参考方案4】:Nvm install 14.15.3(当前的 LTS)在我的任何尝试中都没有成功(也带有 brew arch -x86_64 前缀)。但是,我能够:
从 github 安装 nvm(将“export”字符串放入 ~/.zhrc 并执行) nvm 安装 15注意: 这个 VSCode 版本也适用于我:https://code.visualstudio.com/docs/?dv=osx&build=insiders
【讨论】:
看起来他们在 v14 github.com/nodejs/build/issues/2474 好点上有一个未解决的问题。 问题似乎是节点 v14 和更早版本使用不为苹果芯片构建的 v8 版本,因此他们必须向后移植允许其构建的 v8 更改才能发布苹果硅的节点 12 或节点 14。有点烦人,但可以理解:-/【参考方案5】:如果您尚未安装 rosseta2,请使用 Rosseta 2 打开终端 只需查看我的博客即可进行设置
https://siddhantjohari.medium.com/setting-up-react-native-in-mac-m1-aaf18c37fc34
使用此命令安装 Homebrew。
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
现在点击这个命令来安装 nodejs 或者你想要的任何东西
arch -x86_64 brew install <package>
谢谢。
【讨论】:
【参考方案6】:您可以使用n
安装节点,请关注link。
n --arch arm64 16
【讨论】:
【参考方案7】:要安装 Node 15.6.0 或更高版本:
安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
安装 NodeJS
nvm install v15
要验证 nvm 和 NodeJS 是否都安装成功,运行:
node -v
npm -v
您可以找到更多信息here
【讨论】:
【参考方案8】:由于 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
【讨论】:
以上是关于在 M1 Mac 上安装节点的主要内容,如果未能解决你的问题,请参考以下文章
在 Apple Silicon M1 Mac 上安装 Cryptography
Pip install matplotlib 在 M1 Mac 上失败
一文搞定通过UTM 在MAC M1 上安装centos/ubuntu VM