nvm install node 无法在 macOS Big Sur M1 芯片上安装

nvm install node fails to install on macOS Big Sur M1 Chip

我正在尝试使用 nvm 安装最新版本的节点。我刚拿到新发布的带有 M1 芯片的 SIlicon Macbook Pro(不确定这是否相关)。我已经在 App Store 上安装了 xcode,在命令行上安装了 xcode 工具。我遇到的主要错误是:

clang: error: no such file or directory: 'CXX=c++'

如果您使用 homebrew 安装了 nvm 并尝试使用命令 nvm install <some_version> 安装节点,您将在 Apple Silicon 机器 (ARM) 上遇到错误,直到节点版本为高于 14。早于 15 的节点版本不能在 Apple Silicon 机器 (ARM) 上运行,因为节点旧版本不支持 ARM 架构。 对于 v15 下的任何 ,您将需要使用 Rosetta 2.

安装节点
  1. 如何在 Rosetta2 模式下打开终端 -> 进入应用程序 -> 右键单击​​终端应用程序 -> 获取信息 -> Select“使用 Rosetta 打开” -> 重新启动终端
  2. 在终端中,写入 -> arch -x86_64 zsh 现在您将能够安装任何版本的节点(甚至多个版本)

安装nvm版本>0.3.7并安装node版本>=16.0

使用以下命令安装成功:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

在执行上述命令之前,请确保在您当前的用户名文件夹(~/) 的根目录中有.zshrc 文件。

当我尝试安装节点时,这不是问题 12.X.X 但在安装节点之后,这是一个很大的痛苦,所以我按照以下步骤进行操作,它对我有用

如果已经使用 Homebrew 安装了 nvm,则将其卸载。

brew uninstall nvm
brew cleanup

安装 Rosetta

softwareupdate --install-rosetta

使terminal/iTerm2以Rosetta模式打开

进入应用程序(-> 实用程序)-> 右键单击​​终端应用程序 -> 获取信息 -> Select“使用 Rosetta 打开”-> 重新启动终端

在终端中 运行 命令

arch -x86_64 zsh 

确保机器有 .zshrc 文件,如果不是只创建一个

cd ~
touch .zshrc

安装 NVM

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

它应该将下面的代码添加到 .zshrc

重启终端,通过运行ning

查看nvm是否安装成功
nvm -v

然后照常使用 nvm 安装 Node

nvm install 10

我在这里找到了一个非常有效的解决方案,我不会写完整的步骤,请按照这个 link [Rosetta Terminal]

最好的说明在 nvm 自己的自述文件中关于配备 M1 处理器的 Mac 的常见问题解答:

https://github.com/nvm-sh/nvm#macos-troubleshooting

我做了以下事情:

运行软件更新: softwareupdate --install-rosetta --agree-to-license

Rosetta 更新程序出错,但您可以: grep RosettaUpdateAuto.pkg /var/log/install.log

还有: open /path/to/RosettaUpdateAuto.pkg

之后,right-click 在 dock > 打开 > 选项 > 在 Finder 中显示你的终端图标。

然后,right-click > 获取信息。

然后,检查'Open using Rosetta'

在终端中,您可以检查您是否正在使用 rosetta: arch

然后: nvm install v6.9.1 # 例如