How do I install NVM on Windows?
Short answer: Open PowerShell and run winget install nvm-windows, or download nvm-2.0.1-x64-setup.exe from the NVM for Windows releases page and run it. Then open a new terminal and run nvm install lts and nvm use lts. Check it with node -v: you should see Node.js 26, the current LTS version. Version 2 installs for your user, so you no longer need an administrator terminal.
The nvm you see in most tutorials (nvm-sh) only works on macOS, Linux and WSL. On Windows you use NVM for Windows, a separate project with similar commands. Its latest version is 2.0.1, from October 2, 2026.
In PowerShell: install NVM for Windows, install Node.js 26 LTS and 24, and switch between them with nvm use.
NVM for Windows commands at a glance
| What you want | Command |
|---|---|
| Install NVM for Windows | winget install nvm-windows |
| Check that it is installed | nvm env |
| Install the latest LTS | nvm install lts |
| Install a specific version | nvm install 24 |
| Switch version (and make it the default) | nvm use 24 |
| List installed versions | nvm list |
| See the default and the previous version | nvm default |
| Save the version in the project (.nvmrc) | nvm pin 26 |
| Uninstall a version | nvm uninstall 22 |
Step 1: remove the Node.js you already have
If you installed Node.js before with the official installer, uninstall it in Settings > Apps > Installed apps. The NVM for Windows team recommends it: a Node.js installed outside NVM can come first in the PATH and hide the versions you switch to.
Your projects stay where they are. Only global npm packages, such as typescript or nodemon, need to be installed again later.
Step 2: install NVM for Windows
With winget, the fastest way. Open PowerShell or Windows Terminal and run:
winget install nvm-windowsWith the installer: go to the releases page, download nvm-2.0.1-x64-setup.exe, or nvm-2.0.1-arm64-setup.exe if your PC has an ARM processor, and run it as your normal user. The wizard lets you adjust the configuration, and the defaults work for most people.
Version 2 installs in %LOCALAPPDATA%\Author Software\nvm, inside your user folder.
Step 3: check the installation
Close the terminal, open a new one and run:
nvm envIf NVM for Windows is installed, it shows its configuration. If you see 'nvm' is not recognized, the terminal was opened before the installation: open another one.
Step 4: install Node.js and switch versions
Install the LTS version and, if you need it, an older one:
nvm install lts
nvm install 24
nvm listnvm list marks the default version with an asterisk. To switch:
nvm use 24
node -v
nvm use lts
node -vnvm use changes the version for every terminal and keeps it as the default, so you do not need to repeat it each time you open PowerShell. nvm use last goes back to the previous version.
Upgrade from NVM for Windows 1.x
Download and run the version 2 installer as your normal user. It migrates installs from version 1.1.7 or later and keeps the Node.js versions you had.
If you installed version 1 with winget, run winget install nvm-windows once. That changes the package from CoreyButler.NVMforWindows to AuthorSoftware.NVMWindows, and later updates only need winget upgrade nvm-windows.
Use nvm in WSL instead
If you work in WSL (Windows Subsystem for Linux), install the Linux nvm inside your WSL terminal, not NVM for Windows. The steps are the same as in how to install NVM on Linux.
