Working on different projects, that use multiple versions of NodeJS? and having trouble setting up the project? then you need to use NVM — Node Version Manager.

Start by running following command.

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

Need a different method to install NVM? check out github readme.

This command installs nvm on your computer and attempt to add the source lines from the snippet below to the correct profile file (~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).

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

Once the snippet is added to you profile file, close the terminal and open again. I personally like to do source ˜/.[profile] in the same terminal.

replace [profile] with your profile name

Let's run nvm this output a huge log of all the options that come with NVM. Let install NodeJS

nvm install 12

the number is the NodeJS Version you would like to install. In the same way, you can install as many versions you like to have.

By installing NodeJS this way you can keep your NPM and Global installs unique to that version. When you switch to different version, it will have its own configuration without juggling things to get project up and running for the development.

Switch between multiple versions of NodeJS

At any point you want switch between different installed NodeJS version. Simply Run

nvm use [version]

Automatic Version Switching for Node.js

Let's make it even better by adding AVN - Automatic Version Switching for Node.js, when working with multiple projects it's very easily forgotten what version of NodeJS to use and we could try to run the project in a different NodeJS. To prevent this we can use AVN.

To install avn run following commands

npm install -g avn avn-nvm avn-n
avn setup

Now, you avn is ready. All you need to do go into your project directory and create a .node-version file with NodeJS version. you can get your NodeJS version by doing node -v

echo "12" > .node-version

Now when ever you switch to your project directory containing .node-version , your avn will switch to the NodeJS version specified in the file automatically.

Here are list of commands i found myself using

  • List all installed NodeJS versions nvm list
  • Setting a default NodeJS version nvm alias default [version]

I hope this article has helped you improve your NodeJS development environment. For more amazing articles and Jamstack updates, follow me on twitter @stackrole or subscribe to our newsletter 👇

Join the Newsletter

Subscribe to get latest updates on Jamstack, How-to guides and best Jamstack templates in your inbox

We respect your privacy. you can Unsubscribe at any time.

© 2020 Stackrole • Proudly built on Jamstack with Gatsby and Strapi • Hosting by Netlify