Skip to content

nvm vs NVM for Windows

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

nvm

Open source · MIT

A command-line tool to install and switch between multiple Node.js versions on Mac, Linux, and WSL.

NVM for Windows

Open source · MIT

A Windows tool for installing and switching between multiple Node.js versions.

The short answer

Choose nvm if you need…

  • Developers who work on several Node.js projects that need different versions
  • People on macOS, Linux, or Windows WSL who use a POSIX-compatible shell like bash or zsh
  • Teams that pin a version in a .nvmrc file so everyone runs the same Node.js version
  • Beginners who want a simple way to try a specific Node.js release

Choose NVM for Windows if you need…

  • Windows developers who work on several Node.js projects that need different versions
  • Developers who want to avoid needing administrator rights to change Node.js versions
  • Teams that want a pinned Node.js version per project directory
  • People moving to Windows from the Mac/Linux nvm who want a similar workflow

Side-by-side

nvmNVM for Windows
TypeDev toolApp
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars95.7k48.1k
Setup difficultyBeginnerBeginner
How you get itClone and build from sourceDownload the app
Main languageShellInno Setup
Last code update8 days ago4 days ago

What each one is

nvm

nvm is a small shell script that lets you install several versions of Node.js on one computer and switch between them from the terminal. It is installed per user and loaded in each shell session. People use it when different projects need different Node.js versions.

NVM for Windows

NVM for Windows is a version manager for Node.js on Windows. It lets you install several Node.js versions side by side and choose which one is active, including setting a different version per project directory. The README describes it as the Microsoft and Google recommended option for Windows developers, and it is a separate project from the Mac/Linux nvm.

Best for

nvm

  • Developers who work on several Node.js projects that need different versions
  • People on macOS, Linux, or Windows WSL who use a POSIX-compatible shell like bash or zsh
  • Teams that pin a version in a .nvmrc file so everyone runs the same Node.js version
  • Beginners who want a simple way to try a specific Node.js release

NVM for Windows

  • Windows developers who work on several Node.js projects that need different versions
  • Developers who want to avoid needing administrator rights to change Node.js versions
  • Teams that want a pinned Node.js version per project directory
  • People moving to Windows from the Mac/Linux nvm who want a similar workflow

Strengths

nvm

  • Lets you keep several Node.js versions installed and switch between them quickly
  • Works with common POSIX shells such as bash, zsh, dash, and ksh, per the README
  • MIT licensed and widely used, with a large and active open-source community

NVM for Windows

  • The README says it does not require mandatory administrator privileges
  • Per-directory version pinning and auto-install of missing versions reduce manual switching
  • Has a large user base, with over 48,000 GitHub stars and an MIT license

Not ideal for

nvm

  • Windows users running native PowerShell or cmd without WSL, since the README only describes unix, macOS, and WSL support
  • People who only need one Node.js version and never switch, since a system install or a direct download may be simpler
  • Environments that cannot run shell scripts or need a fixed, prebuilt binary without an installer step

NVM for Windows

  • Mac or Linux users, since the README says the project is for Windows only and the original nvm is the one for those systems
  • Users who need the commercial Certified Builds features but only use the free edition, since the policy, logging, and trust features are add-ons
  • People who only ever use one Node.js version and do not need switching

Trade-offs

nvm

  • It is a shell script rather than a native app, so behavior depends on your shell setup and profile files
  • The README notes Windows support is through WSL, not native Windows
  • Setup involves editing shell profile files, which can be confusing for beginners

NVM for Windows

  • The README lists several features as paid add-ons under Certified Builds, so some enterprise needs are not in the free edition
  • Behavior differs from the Mac/Linux nvm, so instructions written for that tool may not apply
  • The README is truncated, so detailed setup steps and system requirements are not confirmed here

Getting started

nvm

Install or update nvm (cURL)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash

Install or update nvm (Wget)

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash
Step-by-step guide: how to use nvm

NVM for Windows

Clone the repository

git clone https://github.com/nvm-windows/nvm
Step-by-step guide: how to use NVM for Windows

Frequently asked questions

What is the difference between nvm and NVM for Windows?

nvm: A command-line tool to install and switch between multiple Node.js versions on Mac, Linux, and WSL. NVM for Windows: A Windows tool for installing and switching between multiple Node.js versions. nvm suits developers who work on several node.js projects that need different versions, while NVM for Windows suits windows developers who work on several node.js projects that need different versions.

Are nvm and NVM for Windows free?

nvm: Free and open source. NVM for Windows: Free and open source.

Is nvm or NVM for Windows more popular?

nvm has more GitHub stars (95.7k) than NVM for Windows (48.1k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to nvm and NVM for Windows?

Other options people compare them with include n, asdf.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.