How to install Node on Mac using NVM and Homebrew
Install multiple versions of Node and Node Package Manager on a Mac using Node Version Manager (nvm).
Node Version Manager makes it easy to install multiple Node versions on a Mac. You install NVM using Homebrew, and if you don't have Homebrew installed yet, read this article.
Step 0 - Install Homebrew
This short article describes how to install Homebrew or visit the Homebrew website
Step 1: Install NVM
Install node version manager.
brew install nvm
Step 2: Create a directory for NVM
Step 3: Configure your environmental variables
Either create or open your
export NVM_DIR="$HOME/.nvm" source $(brew --prefix nvm)/nvm.sh
Execute the content we just pasted.
Step 4: Double-check your work
If you've done everything correctly, you should be able to run the
nvm command and ask it to list which versions node are available.
Step 5: Install Node
You can see a list of previously released Node versions from the NodeJS release page
or use search for packages with long-term support
nvm ls-remote --lts
Verify your installation.
Step 6: Set Node Globally
You can set a specific version of Node as your default.
nvm alias default x.x.x
Error Example #1
If you are having issues with
npm, then you might want to try this.
rm -rf /usr/local/lib/node_modules
brew uninstall --ignore-dependencies node brew uninstall --force node
Install a specific version of Node.
brew install node@14
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh
Add this to your local variables so that npm and global npm are usable.
Error Example #2
fetching: https://registry.npmjs.org/npm/-/npm-6.4.1.tgz up to date in 0.027s sh: rimraf: command not found npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! firstname.lastname@example.org prepare: `node bin/npm-cli.js --no-audit --no-timing prune --prefix=. --no-global && rimraf test/*/*/node_modules && make -j4 doc` npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the email@example.com prepare script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/myaccount/.npm/_logs/*-debug.log npm ERR! code E404 npm ERR! 404 Not Found: 0.99s@latest npm ERR! A complete log of this run can be found in: npm ERR! /Users/myaccount/.npm/_logs/*-debug.log It failed
If you see an error like this, then checkout this StackOverflow solution