Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Runtime Version Managers
  3. nvm

nvm

What it is

nvm is a free command-line tool for installing and using different Node.js versions. It is installed for an individual user and invoked within a shell. It works with POSIX-compliant shells including sh, dash, ksh, zsh, and bash. Users can install particular versions, switch between them, and assign aliases such as a default version. LTS aliases and commands help users install, use, and list long-term support releases. A project can declare its Node.js version in an .nvmrc file, and documented shell snippets can support automatic switching. During installation, nvm can reinstall global npm packages from another Node.js version. It can also install a previously downloaded or cached version offline with the --offline flag. The project documents use in Docker, including an example for CI/CD jobs. On Windows, nvm can work through WSL and may work with Git Bash or Cygwin depending on the environment. Fish shell is unsupported, and the project states that only its latest nvm version is supported. The repository identifies nvm as MIT licensed.

For and against

For

  • Free and MIT licensed.
  • Install and switch among Node.js versions.
  • Supports LTS aliases and commands.
  • Project versions can be specified in .nvmrc.
  • Can install cached versions offline.

Against

  • Fish shell is not supported.
  • Only the latest nvm version is supported.
  • Windows use depends on WSL or other environments.

The verdict

nvm provides per-user, per-shell Node.js version management, including project-level version selection and offline installation from cache. Users relying on Fish shell should look to community alternatives, and Windows support depends on the environment.

Who it suits

nvm suits developers who need to manage multiple Node.js versions from the command line, including versions specified per project. It can also fit workflows using Docker or CI/CD, provided the shell and environment are supported.

Plans and prices

nvm

Free

Node.js version installation · version switching · aliases · .nvmrc project selection

Every plan, in full

On the record

Aliases
Users can create aliases such as default or custom names for Node versions.github.com · read 15 Oct 2026
API and SDKs
The README documents a sourced shell command interface and environment variables; it does not describe a hosted HTTP API or SDK.github.com · read 15 Oct 2026
Automatic switching
Automatic directory switching is documented as user-added bash or zsh hooks rather than built into the core command.github.com · read 15 Oct 2026
Core installation
Users can install the latest Node release, a specific version, or source builds with nvm install.github.com · read 15 Oct 2026
Docker and CI
The documentation provides Dockerfile patterns using BASH_ENV and a separate CI/CD container example.github.com · read 15 Oct 2026
Documentation depth
The README includes installation, Docker, CI/CD, shell hooks, mirrors, offline mode, environment variables, testing, troubleshooting and uninstall guidance.github.com · read 15 Oct 2026
Execution helpers
nvm run and nvm exec run commands with a selected Node version without permanently changing the surrounding shell.github.com · read 15 Oct 2026
Extensibility
Mirror URLs, authorization headers and several NVM_* environment variables can customize downloads and installation behavior.github.com · read 15 Oct 2026
Fish limitation
The project does not natively support Fish and suggests wrappers or alternative managers.cobalt.googlesource.com · read 15 Oct 2026
Independent mirror status
SourceForge identifies its nvm page as an exact mirror and states it is not affiliated with the project.sourceforge.net · read 15 Oct 2026
Independent project snapshot
Hysen Labs recorded 95,544 GitHub stars, 10,530 forks, Shell as the main language and MIT licensing on October 15, 2026.hysenlabs.com · read 15 Oct 2026
Installation model
It is designed to be installed per user and invoked per shell.github.com · read 29 Sep 2026
Integrations
Documented integrations include Docker, Ansible, zsh plugins, bash completion and optional nvshim shims.github.com · read 15 Oct 2026
Latest release
The release page lists v0.40.7 as a signed release adding concurrent-install serialization and safer download handling.github.com · read 15 Oct 2026
License
nvm is distributed under the MIT License, permitting use, modification, distribution and sale subject to retaining notices.github.com · read 15 Oct 2026
Limit: Fish shell
A Stack Overflow answer explains that nvm.sh cannot be sourced directly by Fish because Fish is not POSIX-compatible.stackoverflow.com · read 15 Oct 2026
Limit: native Windows
Independent comparison coverage says the original nvm does not work natively on Windows and requires the separate nvm-windows project.ortamarco.me · read 15 Oct 2026
Limit: shared machines
Microsoft warns that per-user symbolic-link behavior can make nvm unsuitable for shared developer boxes and multi-agent build servers.learn.microsoft.com · read 15 Oct 2026

Alternatives to nvm

Every alternative, ranked