A POSIX-compliant bash script for installing and switching between multiple Node.js versions per user and per shell.
nvm-windows/nvm
A Node.js version manager for Windows that installs and switches between multiple Node.js versions per project or globally.
- Stars
- 47,996
- Forks
- 3,895
- Open issues
- 4
- Last commit
- 10 hours ago
What is it?
NVM for Windows lets developers install several Node.js versions side by side and switch between them from the command line. It is a separate project from the Mac and Linux nvm, and it is built around Windows conventions rather than being a port of that tool.
Version 2 is a rewrite that offers two activation modes: a shim mode that avoids symlinks, and a link mode that uses junctions with a symlink fallback. The tool does not require administrator privileges by default. Per-directory version pinning, automatic installation of missing versions, and automatic installation of default global modules are supported, along with user-defined aliases and local or air-gapped download sources.
It also integrates with Windows features such as the Event Viewer, the registry, and the notification center. Commercial Certified Builds add MSI and Intune deployment, centralized policy enforcement, advanced logging, and supply-chain artifacts for controlled IT environments.
Key features
- 01Installs multiple Node.js versions side by side on Windows.
- 02Switches versions per directory through version pinning.
- 03Runs without mandatory administrator privileges.
- 04Offers shim mode without symlinks and link mode using junctions.
- 05Automatically installs missing versions and default global modules.
- 06Supports user-defined aliases and local or air-gapped download sources.
Use cases
- Working on several Node.js projects that require different runtime versions on a Windows machine.
- Setting up Windows developer workstations without administrator rights.
- Deploying a controlled Node.js version set in air-gapped or policy-managed corporate environments.
Quick start
- 1
Download the stable installer from the GitHub releases page
Things to know
- Windows only; it is not a substitute for the Mac/Linux nvm project.
Topics
FAQ
- What is nvm?
- A Node.js version manager for Windows that installs and switches between multiple Node.js versions per project or globally. NVM for Windows lets developers install several Node.js versions side by side and switch between them from the command line. It is a separate project from the Mac and Linux nvm, and it is built around Windows conventions rather than being a port of that tool.
- Is nvm free to use? What license does it have?
- nvm is open source under the MIT license. Check the license terms before using it in commercial products.
- Is nvm still maintained?
- Actively maintained. The last commit to nvm was on Oct 20, 2026.
- What can I use nvm for?
- Working on several Node.js projects that require different runtime versions on a Windows machine. Setting up Windows developer workstations without administrator rights. Deploying a controlled Node.js version set in air-gapped or policy-managed corporate environments.
- How do I install nvm?
- Download the stable installer from the GitHub releases page
- Where can I get nvm?
- The source code and installation instructions are on GitHub: https://github.com/nvm-windows/nvm
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Browser-based terminal access that lets you run, monitor and command shell sessions and AI coding agents from any device.
A JavaScript library with a high-level API for controlling Chrome or Firefox over DevTools Protocol or WebDriver BiDi, headless by default.
GitHub's official command line tool for working with pull requests, issues, and other GitHub features from the terminal.
A JavaScript-based tool for writing shell-style scripts, wrapping child_process with safe argument escaping and cross-platform helpers.
An open-source, AI-integrated terminal for macOS, Linux and Windows that supports BYOK and local models, durable SSH sessions and inline file previews.