Reputation: 2777
I'm trying to install the latest version of node using nvm. I've just got the newly released SIlicon Macbook Pro with the M1 chip (not sure if that is related). I've installed xcode on the app store and the xcode tools on the command line. The main error i'm getting is:
clang: error: no such file or directory: 'CXX=c++'
Upvotes: 61
Views: 109423
Reputation: 4199
If you are trying to install nvm 14 and If the output is arm64, you'll need to switch your architecture to x86_64 temporarily during the installation. Here are steps to resolve the issue:
Upvotes: 0
Reputation: 893
it wasn't an issue while i was trying to install node 12.X.X but below that it was a big pain so i followed below steps and it worked for me
Uninstalled nvm if it’s already installed using Homebrew.
brew uninstall nvm
brew cleanup
Install Rosetta
softwareupdate --install-rosetta
Make terminal/iTerm2 to open in Rosetta mode
got to Application (-> utilities) -> right click on terminal app -> get Info -> Select "Open using Rosetta" -> Restart Terminal
In Terminal run a command
arch -x86_64 zsh
Make sure machine has .zshrc file if not just create one
cd ~
touch .zshrc
Install NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
Restart the terminal and check if nvm is installed successfully by running
nvm -v
Then install Node with nvm as usual
nvm install 10
Upvotes: 37
Reputation: 391
Follow these steps if you have M1/M2 and you have installed nvm via homebrew
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
Upvotes: 4
Reputation: 496
In 2023, this is quite simple. Install nvm in the normal way without using Rosetta.
Then install Rosetta which you can install by running in the macOS Terminal:
softwareupdate --install-rosetta
Once installed, run
arch -x86_64 zsh
then if you want to install say 12
nvm install lts/dubnium
It will install, you can then use
nvm use 12
whenever you want to use 12, you don't have to do anything special to run it from here, it works without using arch -x86_64 zsh
Hope that helps!
Upvotes: 27
Reputation: 2777
If you have installed nvm
using homebrew
and are trying to install the node using command nvm install <some_version>
, you will face errors on apple silicon machines (ARM) for versions lower than 15. Node versions older than 15 do not work on apple silicon machines (ARM) because ARM architecture is not supported.
For anything under v15, you will need to install node using Rosetta 2.
arch -x86_64 zsh
Now you will able to install any version of node (even multiple versions)
Upvotes: 181
Reputation: 1667
I did the following:
Run software update:
softwareupdate --install-rosetta --agree-to-license
Error in Rosetta Updater, but you can:
grep RosettaUpdateAuto.pkg /var/log/install.log
and just:
open /path/to/RosettaUpdateAuto.pkg
After that, right-click your terminal icon in dock > Open > Options > Show in Finder.
Then, right-click > Get Info.
Then, check 'Open using Rosetta'
In the terminal you can check you are using rosetta with:
arch
Then just:
nvm install v6.9.1
# for example
Upvotes: 0
Reputation: 32757
Use the following command for successful install:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
before the above command, please be sure to have .zshrc
file in the root of your current username folder (~/
).
Upvotes: -1