What is nvm

Last updated: April 1, 2026

Quick Answer: NVM (Node Version Manager) is a command-line tool for managing multiple versions of Node.js and npm on a single computer. It allows developers to easily install, switch between, and use different Node.js versions for different projects without conflicts.

Key Facts

Overview

Node Version Manager (NVM) is a popular open-source tool that simplifies managing multiple Node.js versions on your development machine. Node.js is constantly updated with new features, security patches, and improvements, but different projects may require different versions due to dependency compatibility. NVM eliminates the hassle of manually uninstalling and reinstalling Node.js when switching projects.

Why Use NVM

Different projects often depend on specific Node.js versions. A legacy project might require Node.js 14, while a newer project needs version 20. Without NVM, switching between these versions would require completely uninstalling one version and installing another, a time-consuming and error-prone process. NVM manages this automatically, allowing you to switch versions with a single command.

How NVM Works

NVM installs Node.js versions in a hidden directory in your home folder rather than system directories. When you activate a specific version, NVM modifies your system PATH to point to that version's binaries. This approach is clean, non-invasive, and allows complete isolation between versions. Each installed version includes npm and other tools, ensuring complete compatibility.

Key Features

Installation and Setup

Installing NVM typically involves downloading an installation script from its GitHub repository and running it in your terminal. The installer modifies your shell configuration files (.bashrc, .zshrc) to load NVM automatically. After installation, you can immediately start downloading and managing Node.js versions.

Common Use Cases

Developers use NVM when contributing to multiple open-source projects, working on legacy systems, testing backward compatibility, or teaching Node.js to students who may use different versions. Teams often document required Node.js versions in project README files, and team members use NVM to match those requirements.

Related Questions

How do I install NVM?

Visit the nvm GitHub repository and download the installation script. Run the script in your terminal with curl or wget, then close and reopen your terminal. NVM will be available as a shell command after installation.

What is Node.js?

Node.js is a JavaScript runtime environment that allows you to run JavaScript code on servers and computers outside web browsers. It's used to build web servers, APIs, command-line tools, and other applications using JavaScript.

What is npm?

npm (Node Package Manager) is the default package manager for Node.js that comes with every version. It manages JavaScript libraries and dependencies for your projects, similar to pip for Python or gem for Ruby.

Sources

  1. GitHub - Node Version Manager (nvm) MIT
  2. Node.js Official Website Public Domain