How to Install NVM in Windows 10: A Step-by-Step Guide for Developers

NVM for Windows is a separate project from the Unix/macOS nvm tool. On Windows, developers commonly use the NVM for Windows project to install and switch among Node.js versions. Obtain it from the project’s official repository/release source rather than downloading an installer from an unrelated software site.

Install NVM for Windows

  1. If Node.js is already installed directly, record your current Node/npm versions and project requirements before changing the setup.
  2. Download the current NVM for Windows installer from the project’s official release source.
  3. Run the installer and choose appropriate NVM and Node.js symlink locations.
  4. Open a new Command Prompt or PowerShell window after installation.
  5. Run nvm version to confirm NVM is available.
  6. Use nvm list available or the project’s current command guidance to identify a Node.js version.
  7. Install the required Node version with NVM, then switch to it with nvm use.
  8. Run node --version and npm --version to verify the active environment.

Project requirements should choose the Node version

Do not automatically install the newest Node release for every project. Check package.json, project documentation, CI configuration, or an .nvmrc-style convention where applicable and select a compatible maintained Node release.

Avoid conflicting Node installations

A pre-existing standalone Node installation can cause PATH or symlink confusion. Follow the NVM for Windows project’s migration guidance and verify which node.exe is active if version switching does not behave as expected.

Windows 10 lifecycle still matters

A working Node toolchain does not make an unsupported OS current. Standard Windows 10 support ended in October 2025, so migrate a long-lived development workstation to Windows 11 or another supported platform when possible.

Global npm packages are associated with a Node environment and may need to be reinstalled for another version. Prefer project-local dependencies when the package is part of a specific application’s build or tooling.