Skip to content

Guide · Open source

How to use nvm-windows: install and switch Node.js versions on Windows

Updated · written with AI from the project's own documentation and checked against our catalogue data

NVM for Windows (nvm-windows) is a version manager for Node.js on Windows. It lets you install several Node.js versions side by side, choose which one is active, and set a different version for each project directory. This guide explains what it does, how it differs from the Mac/Linux nvm, and how to use its main features.

NVM for Windowsnvm-windows/nvm · ★ 48.1k · MIT

Quick start

  1. 1Download the installer. Get the stable release from the NVM for Windows releases page or the official website at nvm-windows.com.
  2. 2Run the installer. Start the downloaded installer and follow the prompts. Administrator rights are not mandatory for changing Node.js versions afterwards.
  3. 3Install the Node.js versions you need. Use the NVM for Windows commands to install one or more Node.js versions. Check the documentation for exact syntax.
  4. 4Select the active version. Choose which installed Node.js version is active in your terminal.
  5. 5Pin a version per project. Set a Node.js version for a specific project directory so each project uses the right one.
  6. 6Set default global modules. Optionally define global modules that are installed automatically with each Node.js version.

What is NVM for Windows and who should use it?

NVM for Windows is a separate project from the original nvm, which is made for Mac and Linux only. The project's README describes it as the Microsoft and Google recommended Node.js version manager for Windows developers. It uses a different design and is not just a clone of nvm.

  • Good fit: Windows developers who work on several Node.js projects that need different versions.
  • Good fit: people who want to change Node.js versions without administrator rights.
  • Good fit: teams that want a pinned Node.js version per project directory.
  • Not needed: people who only ever use one Node.js version and never switch.

Install NVM for Windows

The project's install method is a download of the application. The README links to a stable release on the GitHub releases page and to the official website at nvm-windows.com. Community Edition installers are code-signed as of v2.0.0-hotfix.2. The README also lists a clone command for the repository, which is useful if you want the source code.

If you already have NVM for Windows, Microsoft Zenith preconfigures it on some devices, starting with AMD Ryzen AI Halo devices, according to the README.

  • Download the stable installer from the releases page or the official website.
  • Run the installer and follow its prompts.
  • To get the source code instead, clone the repository with the command shown below.
git clone https://github.com/nvm-windows/nvm

Install and switch between Node.js versions

The core workflow is to install the Node.js versions you need and then choose which one is active. The feature list says NVM for Windows can install multiple versions in parallel and can auto-install missing versions. You can also set default global modules that are installed automatically with a Node.js version.

Use the NVM for Windows commands in a terminal to list, install and select versions. Check the documentation at docs.nvm-windows.com for the exact command syntax in the current release.

  • Install several Node.js versions side by side.
  • Choose which version is active at any time.
  • Use parallel installations to speed up setup when you need more than one version.
  • Define your own default global modules to install with each Node.js version.

Pin a Node.js version per project directory

Per-directory version switching, also called pinning, is one of the main reasons to use this tool. Each project folder can use its own Node.js version, so a project that needs an older version does not affect another project that needs a newer one.

Auto-install of missing versions means a pinned version that is not yet installed can be installed for you. Check the documentation for how the pinning file and behaviour work in your release.

  • Pin a version to each project directory.
  • Let missing versions install automatically.
  • Keep projects with different Node.js needs on the same machine.

The feature list describes two modes. Shim mode uses no symlinks and is described as fast, because it is written in Zig. Link mode is described as zero-latency and uses junctions with a symlink fallback.

NVM for Windows does not require mandatory administrator privileges, so you can change Node.js versions without elevating your rights.

  • Shim mode: no symlinks, written in Zig.
  • Link mode: junctions, with symlink fallback.
  • No mandatory administrator privileges.

Customise settings and use local downloads

You can define your own aliases and default global modules. The README also says you can configure local, air-gapped downloads, which suits machines without open internet access. Installers are smaller because they use 7z archives, and extraction is native. The tool also caches data to speed up later work.

The project lists native Windows integrations: Windows Apps, logging to the Windows Event Viewer, the Windows Registry and the Desktop Notification Center.

  • User-defined aliases.
  • User-defined default global modules.
  • Local (air-gapped) downloads.
  • Logging in the Windows Event Viewer.
  • Smaller 7z downloads with caching.

What people use it for

  • Running an older Node.js version for a legacy project while using a newer one for new work.
  • Pinning a team's Node.js version per project directory so everyone runs the same version.
  • Changing Node.js versions on a work laptop without administrator rights.
  • Moving from the Mac/Linux nvm to Windows and keeping a similar workflow.
  • Working in an air-gapped environment using local downloads.

Frequently asked questions

Is NVM for Windows free?

The Community Edition is the free edition and is open source under the MIT licence. Commercial Certified Builds are a separate offering with policy enforcement, advanced logging and trust artifacts sold as add-ons for controlled environments.

What are the requirements for NVM for Windows?

The source lists no prerequisites. It is a Windows application, and the README says the project is for Windows only.

Does NVM for Windows work on Mac or Linux?

No. The README says the project is for Windows only. For Mac or Linux, use the original nvm project at nvm-sh/nvm.

What is the difference between nvm and NVM for Windows?

They are separate projects. The original nvm is for Mac and Linux, and NVM for Windows uses a different design. Both let you manage multiple Node.js versions, but they are not interchangeable.

Do I need administrator rights to use it?

No. The feature list says NVM for Windows has no mandatory administrator privileges, so you can change Node.js versions without elevating your rights.

What are alternatives to NVM for Windows?

The source lists fnm and Volta as comparable projects, along with nvm-sh/nvm for Mac and Linux. Compare them on the features you need, such as per-directory versions and Windows support.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

NVM for Windows suits Windows developers who switch between Node.js versions across projects, especially if they want per-directory pinning and no need for administrator rights. If you use Mac or Linux, or only ever need one Node.js version, pick the original nvm or a simpler setup instead.

Install options & downloads