What is nvm
Last updated: April 1, 2026
Key Facts
- NVM stands for Node Version Manager and is specifically designed for Node.js version management
- It works on macOS and Linux systems; Windows users typically use nvm-windows alternative
- NVM allows instant switching between Node.js versions without reinstalling or modifying system paths
- Each Node.js version includes npm (Node Package Manager) and other tools managed automatically
- Developers can specify project-specific Node.js versions using .nvmrc files in project directories
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
- Version Management: Download, install, and manage multiple Node.js versions
- Quick Switching: Change versions with a single command (nvm use v14.0.0)
- .nvmrc Support: Automatically use the correct version specified in a project's .nvmrc file
- Version Aliases: Create shortcuts for commonly used versions
- Default Version: Set a default Node.js version for your terminal sessions
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.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- GitHub - Node Version Manager (nvm)MIT
- Node.js Official WebsitePublic Domain