nvm
ELI5 — The Vibe Check
nvm (Node Version Manager) is the OG tool for managing multiple Node.js versions. Need Node 16 for the old project and Node 22 for the new one? nvm switches between them with a command. It works great but adds noticeable startup delay to your terminal because it's a shell script, which is why faster alternatives like fnm and Volta exist.
Real Talk
nvm (Node Version Manager) is a POSIX-compliant shell script for managing multiple Node.js installations. It supports installing, switching, and setting default Node versions per shell session. It reads .nvmrc files for project-specific versions. While widely adopted, its shell-based implementation adds measurable latency to terminal startup.
When You'll Hear This
"nvm use 18 before working on the legacy project, nvm use 22 for the new one." / "nvm was the first Node version manager and it's still the most popular despite being the slowest."
Related Terms
asdf
asdf is the 'one version manager to rule them all' — it manages versions of Node, Python, Ruby, Go, Terraform, and basically anything through a plugin syst
fnm
fnm (Fast Node Manager) is the speedy alternative to nvm — it manages Node.js versions but doesn't make you wait 3 seconds every time you open a terminal.
Node.js
Node.js lets you run JavaScript on the server — not just in the browser. Before Node.js, JavaScript was trapped in the browser.
Volta
Volta is a JavaScript toolchain manager that pins Node versions per project and switches automatically when you cd into a directory. It's like your compute