How to install Node.js on Windows

To install Node.js on Windows, most people take the LTS installer from nodejs.org: it brings node, npm and npx and puts them in PATH. This guide is for Windows 11 and works the same on Windows 10. It also covers winget, several Node.js versions side by side, and the errors that PowerShell shows to new users.

LTS or Current: which version to take

nodejs.org offers two lines. LTS (long-term support) gets security fixes for years, and most frameworks and hosting services expect it. Current has the newest features and changes every few weeks. Take LTS unless a project asks for something else. At the time of writing that is Node.js 24.

Install Node.js from the .msi installer

  1. Open https://nodejs.org/en/download, choose the LTS version, Windows and x64 (or ARM64 on a PC with an ARM processor), and download Windows Installer (.msi).
  2. Run the file, accept the license and keep the folder C:\Program Files\nodejs\.
  3. On Custom Setup, leave every part on, including npm package manager and Add to PATH.
  4. On Tools for Native Modules, leave the box empty unless you know you need it (see below). Click Next, then Install.
The Node.js installer on the Tools for Native Modules page with its checkbox empty

Open a new Terminal window and check that both commands answer with a version:

node -v npm -v

What “Tools for Native Modules” installs

Some npm packages contain C or C++ code and are compiled while they install. For that, Windows needs Python and Visual Studio Build Tools. The checkbox Automatically install the necessary tools. Note that this will also install Chocolatey. opens a PowerShell window after the installer closes and installs Python, the Build Tools and the Chocolatey package manager. It needs a few gigabytes and some time.

Most web projects never need it. If an install later fails with gyp ERR! find VS, either run the Node.js installer again with this box ticked, or install Visual Studio with the Desktop development with C++ workload yourself, as the node-gyp instructions describe.

Install Node.js with winget

Windows 11 has winget built in. This command installs the current LTS release from the same nodejs.org installer, without any questions:

winget install --id OpenJS.NodeJS.LTS -e

Close Terminal and open it again, then check:

node -v

Several Node.js versions with nvm-windows

If different projects need different Node.js versions, use NVM for Windows. It is a separate project by Corey Butler, not the Node.js team, and not the same program as nvm for Mac and Linux. Remove the Node.js you installed from the .msi first (Settings › Apps › Installed apps), so two copies don’t compete in PATH. Then download the installer from the project’s releases page on GitHub (github.com/coreybutler/nvm-windows) and run it as your usual user, not as administrator.

nvm install 24 nvm use 24 node -v

If npm or node doesn’t work

  • npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system.: Windows PowerShell doesn’t run scripts by default on Windows 11 and 10, and npm there is a small script. Either type npm.cmd in place of npm, or let your own user run local scripts. The RemoteSigned policy still blocks unsigned scripts downloaded from the internet. The command is below the list.
  • 'npm' is not recognized as an internal or external command, operable program or batch file.: open a new Terminal window, PATH is read only at start. If it still fails, check that C:\Program Files\nodejs\ is in PATH, or run the installer again and choose Repair.
  • A package installed globally with npm is “not recognized”: global commands go to %AppData%\npm. The installer adds this folder to PATH for your user. Open a new window, or add the folder by hand if you removed it.
  • gyp ERR! find VS could not find a version of Visual Studio: the package compiles native code. Install the tools as described in the section about native modules.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

How to update Node.js on Windows

Download the newer .msi from nodejs.org and run it: it installs over the old version and keeps your global packages in %AppData%\npm. With nvm-windows, install the new version and switch to it, as in the nvm-windows section above. If you installed with winget, update with winget:

winget upgrade --id OpenJS.NodeJS.LTS -e

If you also work on a Mac

MacWashing, System Junk: Xcode junk, user caches, installers and logs found, 22.83 GB ready to be cleaned

System Junk in MacWashing finds the caches of every app it knows, including those hidden inside app data, plus logs, Xcode junk and leftovers of deleted apps. It shows how much each takes and clears them in one go. Anything debatable stays unchecked until you decide.

Free trial · macOS 14 or later

Questions and answers

How do I install Node.js on Windows?

Download the LTS Windows Installer (.msi) from nodejs.org and run it with the default options, or install it with winget: winget install --id OpenJS.NodeJS.LTS -e Then check in a new Terminal window: node -v

Is npm installed together with Node.js?

Yes. The installer includes npm and npx. You only need to install Yarn or pnpm separately if a project uses them.

Should I use WSL instead?

If your project runs on a Linux server or uses Linux-only tools, Node.js inside WSL behaves like on the server. For frontend work and most packages, Node.js on Windows itself is enough.