Skip to content

what is NVM? ​

Introduction to NVM ​

NVM (Node Version Manager) is a tool that allows you to easily install, manage, and work with multiple Node.js versions on your system. It provides a command-line interface to switch between different versions of Node.js, ensuring that you can use the specific version required for each of your projects.

There are two main implementations of NVM:

  1. nvm-windows: A Windows-specific implementation
  2. nvm-sh: The original implementation for Unix-like systems (Linux, macOS, WSL)

This documentation covers both implementations, with specific sections for each when their usage differs.

Why Use NVM? ​

Multiple Node.js Versions ​

Different projects may require different Node.js versions. With NVM, you can:

  • Install multiple Node.js versions on a single machine
  • Switch between versions with a simple command
  • Set a default version for new terminal sessions
  • Use project-specific Node.js versions via .nvmrc files

Testing Across Versions ​

NVM makes it easy to test your code against different Node.js versions to ensure compatibility.

Staying Up-to-Date ​

NVM allows you to easily upgrade to the latest Node.js versions while keeping older versions available for legacy projects.

Avoiding Permission Issues ​

Installing Node.js globally often leads to permission issues when installing global packages. NVM installs Node.js in your user directory, avoiding these common permission problems.

Key Features ​

For nvm-windows ​

  • Install and manage multiple Node.js versions on Windows
  • Switch between Node.js versions with a simple command
  • Set a default Node.js version
  • Use .nvmrc files for project-specific versions
  • Configure mirrors for faster downloads in certain regions
  • Support for both 32-bit and 64-bit architectures

For nvm-sh (Linux/macOS/WSL) ​

  • Install and manage multiple Node.js versions
  • Automatic version switching based on .nvmrc files
  • Support for bash, zsh, and other shells
  • Extensive scripting capabilities
  • Support for custom installation directories

Getting Started ​

To get started with NVM, you'll need to:

  1. Download the appropriate version for your operating system
  2. Install NVM on your system
  3. Learn the basic usage of NVM commands

Comparison with Other Tools ​

NVM vs. Direct Node.js Installation ​

FeatureNVMDirect Node.js Installation
Multiple versions✅ Yes❌ No
Easy version switching✅ Yes❌ No
Project-specific versions✅ Yes❌ No
Permission issues✅ Avoided❌ Common
Initial setupMore stepsSimpler

NVM vs. Other Version Managers ​

There are several other Node.js version managers available:

  • n: A simpler Node.js version manager for Unix-like systems
  • nodenv: Inspired by rbenv, for Unix-like systems
  • nodist: An alternative for Windows
  • volta: A newer tool that manages JavaScript tools beyond just Node.js

NVM remains one of the most popular and well-maintained options with strong community support.

Next Steps ​

Now that you understand what NVM is and its benefits, you can:

NVM - Node Version Manager for Windows, Linux, and macOS | sitemap