explaingit

coreybutler/nvm-windows

Analysis updated 2026-06-20

46,233GoAudience · developerComplexity · 1/5Setup · easy

TLDR

NVM for Windows lets you install multiple versions of Node.js on a Windows computer and switch between them with a single command, so different projects can each use the Node version they need.

Mindmap

mindmap
  root((nvm-windows))
    What it does
      Manage Node versions
      Switch with one command
      Windows only
    How it works
      Symlink switching
      Side-by-side installs
      No uninstall needed
    Use cases
      Multi-project dev
      Version testing
      Dev environment setup
    Who it helps
      Windows developers
      Node.js projects
    Notes
      Written in Go
      Separate from nvm macOS
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Install a specific Node.js version required by a project without touching your other Node installations

USE CASE 2

Switch the active Node.js version instantly when moving between projects with different requirements

USE CASE 3

Test your npm package against several Node.js versions without reinstalling each time

USE CASE 4

Set up a clean Windows development environment where Node versions are managed independently of the system installer

What is it built with?

Go

How does it compare?

coreybutler/nvm-windowsmudler/localaiv2ray/v2ray-core
Stars46,23346,09246,846
LanguageGoGoGo
Setup difficultyeasymoderatemoderate
Complexity1/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

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
I'm on Windows and need to install Node.js 18 and Node.js 20 side by side using nvm-windows. Show me the exact nvm commands to install both and switch between them.
Prompt 2
My project's package.json specifies engines: { node: '>=20' } but I'm on Node 18 via nvm-windows. Walk me through upgrading and verifying the active version.
Prompt 3
Using nvm-windows, how do I set a default Node.js version that activates automatically every time I open a new terminal? Give me the command.
Prompt 4
I want to run my test suite against Node 18, 20, and 22 on Windows. Write a PowerShell script that uses nvm-windows to loop through each version and run npm test.
Prompt 5
After installing nvm-windows, my existing global npm packages disappeared. Explain why this happens and how to reinstall global tools like TypeScript after switching Node versions.

Frequently asked questions

What is nvm-windows?

NVM for Windows lets you install multiple versions of Node.js on a Windows computer and switch between them with a single command, so different projects can each use the Node version they need.

What language is nvm-windows written in?

Mainly Go. The stack also includes Go.

How hard is nvm-windows to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is nvm-windows for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub coreybutler on gitmyhub

Verify against the repo before relying on details.