explaingit

coreybutler/nvm-windows

46,424GoAudience · developerComplexity · 2/5MaintainedLicenseSetup · easy

TLDR

Install and switch between multiple Node.js versions on Windows without uninstalling and reinstalling each time.

Mindmap

mindmap
  root((repo))
    What it does
      Install Node versions
      Switch between versions
      Manage side-by-side
    How it works
      Symbolic links
      Command-line interface
      Version isolation
    Use cases
      Multi-project development
      Version testing
      Team environments
    Tech stack
      Go
      Windows installer
    Audience
      Node.js developers
      Windows users

Things people build with this

USE CASE 1

Switch between Node.js versions when working on multiple projects with different requirements.

USE CASE 2

Test your npm package against several Node.js versions to ensure compatibility.

USE CASE 3

Set up a development machine where team members can independently manage Node versions.

Tech stack

GoNode.jsWindows

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

NVM for Windows is a utility that lets you install and switch between multiple versions of Node.js on a single Windows computer. Node.js is a JavaScript runtime that developers use to build web servers and command-line tools. Different projects often require different Node.js versions, one might need a long-term support release for stability, while another needs a newer version to use recent language features. Without a version manager, switching between Node.js versions means uninstalling one and installing another, which is slow and error-prone. NVM for Windows solves this by managing multiple installations side-by-side. You run a command like nvm install 20.0.0 to install a specific version, and then nvm use 20.0.0 to switch to it. Under the hood, the tool creates a symbolic link (a pointer in the filesystem) that redirects Node.js commands to whichever version you have active. The README notes that this is a completely separate project from the original nvm for macOS and Linux, it was built from scratch with a different architecture because the original does not run on Windows. You would use NVM for Windows when working on multiple Node.js projects with different version requirements, testing your own package against several Node versions, or setting up a development environment where you want to manage Node independently of a system installer. The tool is written in Go (the readme notes this with mild humor: \"a node.js version management utility for Windows, ironically written in Go\"), ships as a Windows installer, and is recommended by Microsoft, Google, and npm as the standard Node version manager for Windows. The maintainer is also working on a successor project called Runtime.

Copy-paste prompts

Prompt 1
How do I install NVM for Windows and use it to switch between Node.js 18 and Node.js 20?
Prompt 2
Show me how to use nvm-windows to test my npm package on multiple Node.js versions.
Prompt 3
I have two projects: one needs Node 16 LTS and another needs Node 20. How do I manage both with nvm-windows?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.