DEV Community

Cover image for How to Install and Use NVM to Manage Multiple Node.js Versions
Guna SantoshDeep Srivastava
Guna SantoshDeep Srivastava

Posted on

How to Install and Use NVM to Manage Multiple Node.js Versions

Introduction

Hi Tech Enthusiasts, Greetings!

Welcome to this step-by-step guide on using Node Version Manager (NVM) for Windows! If you’ve ever faced the challenge of managing multiple versions of Node.js across different projects, NVM is the tool you need. It simplifies the process, letting you easily switch between Node.js versions and keeping your development environment organized.

By the end of this article, you’ll be able to install NVM on Windows, use it to manage Node.js versions, and make your Node.js workflow much smoother.

Goal of the Article

In this article, we will cover:

  • What NVM is and why it’s important for Node.js development.
  • How to install NVM on Windows.
  • Essential NVM commands for managing Node.js versions.
  • Common use cases and tips for using NVM effectively.

Let’s dive in!

What is NVM and Why Use It?

Node Version Manager (NVM) is a tool that helps you manage multiple versions of Node.js on your system. As a developer, you may be working on projects that require different Node.js versions. Switching manually between these versions can be time-consuming and error-prone.

With NVM, you can:

  • Install and use multiple Node.js versions easily.
  • Switch between versions in seconds with a single command.
  • Set project-specific versions of Node.js using an .nvmrc file.

NVM eliminates the need for uninstalling and reinstalling Node.js each time a project requires a different version.


How to Install NVM on Windows

Installing NVM on Windows is straightforward, but it’s a bit different from the process on macOS or Linux. Here’s a step-by-step guide:

  1. Download NVM for Windows

  2. Complete the Installation

    • Follow the prompts in the installer. It’s recommended to use the default install location (e.g., C:\Program Files\nodejs) unless you have a specific reason to change it.
  3. Configure Your Environment

    • After installation, open Command Prompt or PowerShell to verify that NVM is working by running:
     nvm version
    
  • If you see the NVM version printed, the installation was successful.

Basic NVM Commands for Windows

Now that NVM is installed, let’s look at the most useful commands you’ll need to manage Node.js versions on your machine.

  • Install a Specific Node.js Version
   nvm install 14.17.0
Enter fullscreen mode Exit fullscreen mode

This command downloads and installs Node.js version 14.17.0 on your system. You can replace 14.17.0 with any version number you need.

  • Switch to a Different Node.js Version
   nvm use 14.17.0
Enter fullscreen mode Exit fullscreen mode

This tells NVM to switch your active Node.js version to 14.17.0.

  • Set a Default Node.js Version If you want a specific version to always be used by default, run:
   nvm alias default 14.17.0
Enter fullscreen mode Exit fullscreen mode
  • List Installed Node.js Versions
   nvm list
Enter fullscreen mode Exit fullscreen mode

This command lists all the Node.js versions you’ve installed using NVM.

  • List All Available Node.js Versions To see all the versions of Node.js that you can install, use:
   nvm list available
Enter fullscreen mode Exit fullscreen mode
  1. Uninstall a Node.js Version If you no longer need a specific version of Node.js, remove it with:
   nvm uninstall 14.17.0
Enter fullscreen mode Exit fullscreen mode

Managing Node.js Versions in Projects

One of the key benefits of NVM is that it allows you to specify Node.js versions for individual projects.

Using .nvmrc to Specify Node.js Version

To make sure a project always uses a specific Node.js version, create an .nvmrc file in the root directory of the project.

For example, if your project requires Node.js version 14.17.0, create an .nvmrc file with the following content:

14.17.0
Enter fullscreen mode Exit fullscreen mode

Then, when you’re inside that project directory, simply run:

nvm use
Enter fullscreen mode Exit fullscreen mode

NVM will automatically switch to the version specified in the .nvmrc file.


Common Use Cases

  1. Switching Node.js Versions for Different Projects
    If you’re working on multiple projects, each requiring a different Node.js version, use nvm use to switch between them seamlessly.

  2. Testing Your Application Across Different Node.js Versions
    NVM makes it easy to test your application’s compatibility with various Node.js versions. Simply switch versions using nvm use and run your tests.

  3. Isolating Global Packages
    Global npm packages are installed separately for each Node.js version. This means you can have different global packages for each version without worrying about conflicts.


Pro Tips for Using NVM on Windows

  • Speed Up Switching Between Versions You can use the nvm alias command to create shortcuts for switching to commonly used versions. For example:
  nvm alias lts 14.17.0
Enter fullscreen mode Exit fullscreen mode

Now, you can switch to Node.js version 14.17.0 by simply running nvm use lts.

  • Install Node.js LTS Versions You can install the latest long-term support (LTS) version of Node.js by running:
  nvm install --lts
Enter fullscreen mode Exit fullscreen mode
  • Handling Global npm Packages Keep in mind that global npm packages are installed per Node.js version. If you switch versions and notice a global package missing, you’ll need to reinstall it for that specific version.

Conclusion

Node Version Manager (NVM) is an essential tool for any Node.js developer, especially if you’re working with multiple projects or need to test code across different Node.js versions. With NVM, you can install, switch, and manage Node.js versions effortlessly, making your development process much smoother.

Now that you have NVM set up and running on Windows, you’re ready to manage Node.js versions like a pro. Start switching versions with ease, and ensure each of your projects is running in the right environment.


Stay Connected

If you have any questions or need further assistance with NVM, feel free to reach out! I’d love to hear your feedback or help you on your development journey.

Thank you for reading, and happy coding with NVM!

Top comments (0)