Installing Node 14 on macOS Sequoia
Tuesday, 21 January 2025
I’m currently working on an older codebase that relies on Node 14 for a bunch of dependencies - the problem is you can no longer easily install Node 14 (and earlier) on Apple computers with M-series chips, as they will always attempt to download the arm64
version (which is only available for Node 16 onwards).
The solution is to install NVM (Node Version Manager) using a Rosetta shell to download an x86
version.
First up, uninstall NVM if it has already been installed using Homebrew:
brew uninstall nvm
brew cleanup
Next, install Rosetta if it isn’t already installed:
softwareupdate --install-rosetta
Now that Rosetta is installed we need to reopen the terminal in a Rosetta shell. If using the default macOS terminal1, find it in the /Applications/Utilities
directory in Finder, right-click the application and click ‘Get Info’. Find and check ‘Open using Rosetta’, and then restart the app.
Next switch out of the arm64
architecture by running the following command in the reopened terminal window:
arch -x86_64 zsh
Make sure your account has .zshrc
file in the root directory - the NVM installation in the next step will attempt to append a few lines of configuration. If you do not have a .zshrc
file just create and empty 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
Now we can install Node with NVM as usual:
nvm install 14
You are then free to uncheck ‘Open using Rosetta’ for your terminal app.
This will work with other terminal apps such as iTerm2 - just ensure that whatever terminal you use is set to open using Rosetta. ↩