Search for a command to run...
Node Version Manager is a shell-script-based command-line tool that lets you install and switch between multiple Node.js versions on the same machine. Install any release by version number or LTS line, run commands under a specific version, and avoid version conflicts across projects without touching the system Node.
nvm is the most widely used Node version manager on Unix and macOS, with broad adoption in tutorials, CI workflows, and developer onboarding. Unlike alternatives such as fnm or volta, it uses shell functions instead of a binary, and integrates with .nvmrc for per-directory version pinning. It is CII Best Practices certified and runs on Bash, Zsh, and WSL.
Key features:
.nvmrc support for per-project version pinning and automatic switching via nvm use--latest-npmEngineers use nvm to maintain different Node versions for legacy and greenfield projects, test against multiple releases before upgrading, and avoid sudo for global npm installs. CI and Docker builds often rely on the official install script to provision a specific Node version, and teams standardize on .nvmrc to keep local and CI environments aligned.