我正在尝试使用nvm安装最新版本的节点。我刚刚得到了最新发布的带有M1芯片的SIlicon Macbook Pro(不确定这是否相关(。我已经在应用商店上安装了xcode,并在命令行上安装了xcode工具。我得到的主要错误是:
clang: error: no such file or directory: 'CXX=c++'
如果您使用homebrew
安装了nvm
,并试图使用命令nvm install <some_version>
安装节点,则在低于15的版本的苹果硅机器(ARM(上,您将面临错误。早于15的节点版本不适用于苹果硅机器(ARM(,因为不支持ARM架构。对于v15下的任何东西,您都需要使用Rosetta 2安装节点。
- 如何在Rosetta2模式下打开终端:转到应用程序->右键单击终端应用程序->获取信息->选择";使用罗塞塔打开"->重新启动终端
- 在终端中,写入->
arch -x86_64 zsh
现在您将能够安装任何版本的节点(甚至多个版本(
当我尝试安装节点12.X.X时,这不是一个问题,但在这之后,这是一个很大的痛苦,所以我遵循了以下步骤,它对我的有效
已卸载nvm(如果已使用Homebrew安装(。
brew uninstall nvm
brew cleanup
安装罗塞塔
softwareupdate --install-rosetta
使终端/iTerm2在罗塞塔模式中打开
转到应用程序(->实用程序(->右键单击终端应用程序->获取信息->选择";使用罗塞塔打开"->重新启动终端
在终端中运行命令
arch -x86_64 zsh
如果不只是创建一个,请确保机器有.zshrc文件
cd ~
touch .zshrc
安装NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
重新启动终端,运行检查nvm是否安装成功
nvm -v
然后像往常一样用nvm安装Node
nvm install 10
2023年,这很简单。以的正常方式安装nvm,而无需使用Rosetta。
然后安装罗塞塔,您可以通过在macOS终端中运行安装:
softwareupdate --install-rosetta
安装后,运行
arch -x86_64 zsh
如果你想安装12
nvm install lts/dubnium
它会安装,然后你可以使用
nvm use 12
每当你想使用12时,你不必做任何特别的事情来从这里运行它,它在不使用arch -x86_64 zsh
的情况下工作
希望能有所帮助!
最好的说明在nvm
自己的Readme关于M1处理器Mac的常见问题解答中:
https://github.com/nvm-sh/nvm#macos-故障排除
如果您有M1/M2,并且您已经通过自制安装了nvm,请执行以下步骤
rm -rf ~/.nvm
rm -rf ~/.npm
rm -rf ~/.bower
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
我做了以下操作:
运行软件更新:softwareupdate --install-rosetta --agree-to-license
罗塞塔更新程序出错,但您可以:grep RosettaUpdateAuto.pkg /var/log/install.log
并且:open /path/to/RosettaUpdateAuto.pkg
之后,右键单击dock中的终端图标>打开>选项>在Finder中显示。
然后,右键单击>获取信息。
然后,检查"使用罗塞塔打开">
在终端中,您可以检查您使用的是罗塞塔:arch
然后:nvm install v6.9.1
#,例如
安装nvm版本>0.3.7和安装节点版本>=16.0
使用以下命令成功安装:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
在执行上述命令之前,请确保在当前用户名文件夹(~/
(的根目录中有.zshrc
文件。
我在这里找到了一个真正有效的解决方案,我不打算写整个步骤,请按照这个链接〔罗塞塔终端〕