JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web โ€ฆ Wikipedia
Factsheet
Original author Ryan Dahl
Initial release May 27, 2009; 16 years ago (2009-05-27)
Factsheet
Original author Ryan Dahl
Initial release May 27, 2009; 16 years ago (2009-05-27)
๐ŸŒ
Node.js
nodejs.org โ€บ en โ€บ download
Node.js โ€” Download Node.jsยฎ
Node.jsยฎ is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Discussions

[How-To] Install Node.js on Windows the Recommended Way
hey, just wanna say thanks. your article was very clear too. More on reddit.com
๐ŸŒ r/learnjavascript
10
5
April 5, 2023
installation - How to install older version of node.js on Windows? - Stack Overflow
I need to install node.js of version 4.0.0 I tried this: npm install -g [email protected] But I got this message: npm is not recognized as an internal or external command, operable program or batch file More on stackoverflow.com
๐ŸŒ stackoverflow.com
Installing Node.js (and npm) on Windows 10 - Stack Overflow
I had some issues trying to install Node on Windows 10 and found the solution. The error was as follows: C:\Users\Stephan>npm Error: ENOENT, stat 'C:\Users\Stephan\AppData\Roaming\npm' The sol... More on stackoverflow.com
๐ŸŒ stackoverflow.com
How to completely remove node.js from Windows - Stack Overflow
I uninstalled my previous version of node.js (0.8.11) and downloaded the latest, 0.10.24 from the node.js website and installed it. However, after running node --version, it still indicates that I'm More on stackoverflow.com
๐ŸŒ stackoverflow.com
๐ŸŒ
Node.js
nodejs.org โ€บ en
Node.js
Node.jsยฎ is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
๐ŸŒ
Reddit
reddit.com โ€บ r/learnjavascript โ€บ [how-to] install node.js on windows the recommended way
r/learnjavascript on Reddit: [How-To] Install Node.js on Windows the Recommended Way
April 5, 2023 -

The same Article Guide I wrote is linked here Article Link and has Photos for a nicer reading experience!

  1. Download the nvm-setup.exe in the link below NVM for Windows Download

  2. Run the nvm-setup.exe by clicking on it and follow the on screen setup instructions

  3. Check if you installed NVM sucessfully by using the command nvm --version in a Windows Terminal

  4. To install Node.js with nvm you can now run nvm install lts to install the long term support version of node

  5. Check which versions of node you have then use it as shown with nvm list and then nvm use make sure you are in administrator mode

  6. Check if node is working by running node --version

๐ŸŒ
npm
docs.npmjs.com โ€บ downloading-and-installing-node-js-and-npm
Downloading and installing Node.js and npm | npm Docs
Node version managers allow you to install and switch between multiple versions of Node.js and npm on your system so you can test your applications on multiple versions of npm to ensure they work for users on different versions. nvm ยท n ยท nodist ยท nvm-windows ยท
๐ŸŒ
Node.js
nodejs.org โ€บ en โ€บ blog โ€บ release โ€บ v25.2.1
Node.js โ€” Node.js v25.2.1 (Current)
4 weeks ago - We received feedback that this change on an experimental API was too breaking for a semver-minor release, so we decided to push it back for Node.js 26.0.0. [ff89b7b6c7] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) #60662 ยท [5316b580eb] - deps: V8: backport 2e4c5cf9b112 (Michaรซl Zasso) #60654 ยท [ca878bc90e] - doc,src,lib: clarify experimental status of Web Storage support (Antoine du Hamel) #60708 ยท [a4dee613fd] - Revert "lib: throw from localStorage getter on missing storage path" (Antoine du Hamel) #60750 ยท Windows 64-bit Installer: https://nodejs.org/dis
Find elsewhere
๐ŸŒ
YouTube
youtube.com โ€บ watch
How To Install Node JS on Windows in Under 5 Minutes! - YouTube
Need Node.js for your projects? In this quick and easy tutorial, Iโ€™ll show you how to install Node.js and NPM on Windows step by step. Whether you're a begin...
Published ย  March 6, 2025
๐ŸŒ
Node.js
nodejs.org โ€บ en โ€บ blog โ€บ release โ€บ v24.11.1
Node.js โ€” Node.js v24.11.1 (LTS)
1 month ago - Node.jsยฎ is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
๐ŸŒ
Node.js
nodejs.org โ€บ en โ€บ blog โ€บ release โ€บ v20.19.6
Node.js โ€” Node.js v20.19.6 (LTS)
2 weeks ago - [9e8beff0f4] - util: fix error's namespaced node_modules highlighting using inspect (Ruben Bridgewater) #59446 ยท Windows 32-bit Installer: https://nodejs.org/dist/v20.19.6/node-v20.19.6-x86.msi Windows 64-bit Installer: https://nodejs.org/dist/v20.19.6/node-v20.19.6-x64.msi Windows ARM 64-bit Installer: https://nodejs.org/dist/v20.19.6/node-v20.19.6-arm64.msi Windows 32-bit Binary: https://nodejs.org/dist/v20.19.6/win-x86/node.exe Windows 64-bit Binary: https://nodejs.org/dist/v20.19.6/win-x64/node.exe Windows ARM 64-bit Binary: https://nodejs.org/dist/v20.19.6/win-arm64/node.exe macOS 64-bit
Top answer
1 of 12
1243

How to remove Node.js from Windows:

  1. Take a deep breath.

  2. Run npm cache clean --force

  3. Uninstall from Programs & Features with the uninstaller.

  4. Reboot (or you probably can get away with killing all node-related processes from Task Manager).

  5. Look for these folders and remove them (and their contents) if any still exist. Depending on the version you installed, UAC settings, and CPU architecture, these may or may not exist:

  • C:\Program Files (x86)\Nodejs
  • C:\Program Files\Nodejs
  • C:\Users\{User}\AppData\Roaming\npm (or %appdata%\npm)
  • C:\Users\{User}\AppData\Roaming\npm-cache (or %appdata%\npm-cache)
  • C:\Users\{User}\.npmrc (and possibly check for that without the . prefix too)
  • C:\Users\{User}\AppData\Local\Temp\npm-*
  1. Check your %PATH% environment variable to ensure no references to Nodejs or npm exist.

  2. If it's still not uninstalled, type where node at the command prompt and you'll see where it resides -- delete that (and probably the parent directory) too.

  3. Reboot, for good measure.

2 of 12
62

Scenario: Removing NodeJS when Windows has no Program Entry for your Node installation

I ran into a problem where my version of NodeJS (0.10.26) could NOT be uninstalled nor removed, because Programs & Features in Windows 7 (aka Add/Remove Programs) had no record of my having installed NodeJS... so there was no option to remove it short of manually deleting registry keys and files.

Command to verify your NodeJS version: node --version

I attempted to install the newest recommended version of NodeJS, but it failed at the end of the installation process and rolled back. Multiple versions of NodeJS also failed, and the installer likewise rolled them back as well. I could not upgrade NodeJS from the command line as I did not have SUDO installed.

SOLUTION: After spending several hours troubleshooting the problem, including upgrading NPM, I decided to reinstall the EXACT version of NodeJS on my system, over the top of the existing installation.

That solution worked, and it reinstalled NodeJS without any errors. Better yet, it also added an official entry in Add/Remove Programs dialogue.

Now that Windows was aware of the forgotten NodeJS installation, I was able to uninstall my existing version of NodeJS completely. I then successfully installed the newest recommended release of NodeJS for the Windows platform (version 4.4.5 as of this writing) without a roll-back initiating.

It took me a while to reach sucess, so I am posting this in case it helps anyone else with a similar issue.

๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ installation guide โ€บ install-node-js-on-windows
How to Install Node.js on Windows: Top 4 Methods - GeeksforGeeks
August 25, 2025 - Download the latest NVM for Windows installer from the GitHub page. Now run the installer and follow the setup instructions. ... Either you can run the downloaded installer manually and follow the on-screen instructions or run the following command in CMD or PowerShell: ... Note: You can also specify the node.js version by using "nvm install 14.17.6" or you can choose any installed version as a default by using "nvm use 14.17.3"
๐ŸŒ
Node.js
nodejs.org โ€บ en โ€บ blog โ€บ release โ€บ v25.2.0
Node.js โ€” Node.js v25.2.0 (Current)
1 month ago - Windows 64-bit Installer: https://nodejs.org/dist/v25.2.0/node-v25.2.0-x64.msi Windows ARM 64-bit Installer: https://nodejs.org/dist/v25.2.0/node-v25.2.0-arm64.msi Windows 64-bit Binary: https://nodejs.org/dist/v25.2.0/win-x64/node.exe Windows ARM 64-bit Binary: https://nodejs.org/dist/v25.2.0/win-arm64/node.exe macOS 64-bit Installer: https://nodejs.org/dist/v25.2.0/node-v25.2.0.pkg macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v25.2.0/node-v25.2.0-darwin-arm64.tar.gz macOS Intel 64-bit Binary: https://nodejs.org/dist/v25.2.0/node-v25.2.0-darwin-x64.tar.gz Linux 64-bit Binary: ht
๐ŸŒ
YouTube
youtube.com โ€บ watch
How to Install Node.js on Windows 11 & Run Your First Program (2025) - YouTube
**๐Ÿ“Œ Title:** How to Install Node.js on Windows 11 & Run Your First Program | Beginner's GuideIn this beginner-friendly tutorial, youโ€™ll learn **how to insta...
Published ย  April 18, 2025
Top answer
1 of 5
44

Eh from experience, use Linux Docker.

edit Use Docker. bake in your dependencies, mount your project at run time, pin to a particular version of LTS node only. I'd take a 2gb docker image over un-runnable project leading to days lost being forced to upgrade to new packages. - 2018/04/10

But from someone whose spent the last 8 years developing in a linux based environment, and having spent the last 6 months developing software using nodejs in a windows dot net environment, here are my discoveries, shocking or otherwise...

Problems on windows:

  • can't effectively utilise docker Latest version of the docker toolkit solves this as far as I'm concerned. ymmv.
  • most node modules require node_gyp, which on the surface doesn't seem problematic (since gyp is supposed to be cross platform compiler), except when you delve into what it takes to get this working on windows: nothing short of installing visual studio will work. This sucks for me due to several reasons:
  • I'm normally on linux, so I never want to have to use visual studio.
  • It's entirely the most ridiculous idea that compiling something on windows requires at minimum a 3GB installation of an IDE... not libs but an entirely monolithic piece of GUI software I'll never ever launch.
  • the windows equivalent of debians build-essentials is actually a disparate sprawling ill named collection of gui only installers scattered across the internet all requiring a specific installation sequence. This, compared to sudo apt-get install build-essentials is overly time consuming and fraught with hidden gotchas.

  • developing on windows will allow you the bad habit of mixed case path names, unless your team either has a strict policy that is followed/enforced this will be a slippery slope to problems later on.

  • while windows supports more than 256 characters in paths, important tooling through out does not. enter stage left: rimraf and robocopy... ugh.

  • the windows terminal sucks... so does the default shell: cmd.exe... Powershell is far too verbose in it's syntax and not to my taste... Installing Cmder aleviates this somewhat, however the only way for Cmder to interface with cmd.exe is to basically copy keystrokes to a hidden windows terminal running cmd.exe. (lolwut). Cmder works a lot better with shells that a more modular (zsh, bash, etc).. update: I now use powershell with pshazz and scoop, which is actually pleasant to use.

  • Having still improved the shell and terminal situation, nodejs for windows will still assume your environment variables are %OF% %THE% %WINDOWS% %VARIETY%... not the $UNIX $STYLE. So you'll basically be using bower and npm mostly from cmd.exe... more ugh. I dont' seem to be having this issue anymore since I've incorporated a mix of cross-env and commander or yargs.

    • You'll also need to install python for windows, not a problem because choco exists and has you back there. update: have a look at boxstarter, will help automate your new machine setup with recipes (or you could actually graduate to using ansible or salt).

    • experienced python, ruby developers will tell you that old projects will need the version of their engine silo'd for when you need to revisit them (upgrading to newer versions is mostly not expedient or practical, read: rabbit holes), so you'll want something like rvm and virtualenv...

    • nvm (which only works on unix systems linux and macosx) because it's a collection of bash scripts. I recommend using ZSH as your shell along with Zgen and Tarrasch/zsh-autoenv plugin.

    • nodeenv, which is more likely... a python program that integrates with virtualenv. Some people like this. I have no problem with it, but our team uses nvm.
    • however, you're better off with nvm-windows because "reasons". scratch that, use nodist on windows... bar far the better choice, you won't need to worry about some kind of autoenv since nodist by design handles this.

Installing on Windows:

  1. install chocolatey
  2. choco install cmder nodejs python2 choco install python2
  3. install http://scoop.sh, then use it to install pshazz.
  4. remove any versions of node manually installed globally.
  5. install nvm-windows install nodist.
  6. install visual-studio 2012 express, then never launch it if you treasure your cpu cycles. this may be overkill as microsoft have released an equivalent to build-essentials.
  7. install windows 7/10 64bit sdk

Problems on Linux:

tldr; use nvm. for more reasons other than the below.

  • you'll have to set the global npm node_modules path to a user owned directory (I've started using ~/.local/share/npm). Pleasantly, this is something I found the windows installation of nodejs got right (probably not intentionally). A non issue when using nvm.
  • Ubuntu already has a binary called node, so #!/usr/bin/env node will by default not run nodejs. luckily debian systems have a neat management tool for controlling what the env binary emits: update-alternatives. ignore suggestions to use symlinks here, which will only cause problems later on in subtle ways. also a non issue when using nvm.

Installing on Linux :

$ sudo apt-get install git-core git-flow build-essentials python-dev python-  pip
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
$ npm config set prefix ~/.local/share/npm
$ nvm install stable
$ nvm alias default stable

references:

  • https://groups.google.com/forum/?fromgroups#!msg/msysgit/9YIR6jlNB0Q/zHhPN3tejFkJ
  • https://github.com/creationix/nvm
  • http://bliker.github.io/cmder/
  • https://github.com/coreybutler/nvm-windows
  • https://github.com/Tarrasch/zsh-autoenv
  • https://github.com/lukesampson/pshazz
  • http://scoop.sh
  • https://github.com/marcelklehr/nodist
2 of 5
21

We have a system via which we just use a config file, which handles all our problems like path differences ("c:\blarg" vs "~user/blarg") and, as a bonus, lets us control differences between debug and production environments.

Node.js is cross platform, so we totally have developers working on all sorts of computers, and it's no problem at all.

This is an example config file I use on a file storage project:

/**
 * All of these are mandatory except for log_level (which defaults to "info", 1) 
 * and log_echo_to_console (which defaults to false)
 */
exports.config = {
    log_level: 0,
    log_file: "/path/to/send.log",
    request_log_file: "/path/to/send_requests.log",
    log_echo_to_console: true,
    port_number: 8088,
    no_notification_emails: true,
    image_url_base: "http://s3.amazonaws.com/",      // MAKE SURE THIS ENDS IN "/"
    tmp_file_folder:"/tmp/",
    s3_info: {
        key: 'xxxxxx',
        secret: 'yyyyy',
        file_bucket: 'sendtransfer/',
    },
    backend_info: {
        db_info: {
            server: "localhost",
            user: "db_user",
            password: "secret",
            database: "SendRemote",
            pooled_connections: 125,
            idle_timeout_millis: 30000
        },
        memcache_info: {
            host: "127.0.0.1",
            port: "31111",
            pooled_connections: 200,
            timeout: 20000
        }
    },

    debug_server: true
};

For Windows machines, just change the paths. It's all good!

Then in code, you can just type:

var local = require('local.config.js');
fs.writeFile(local.config.log_file);
// etc

Embrace multiculturalism!!!

๐ŸŒ
GitHub
github.com โ€บ coreybutler โ€บ nvm-windows
GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.
A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows
Starred by 44K users
Forked by 3.7K users
Languages ย  Go 72.3% | Inno Setup 25.9%
๐ŸŒ
Express
expressjs.com
Express - Node.js web application framework
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
๐ŸŒ
Stack Overflow
stackoverflow.com โ€บ questions โ€บ 78688532 โ€บ incompatible-version-of-node-js-with-windows
Incompatible version of Node.js with Windows - Stack Overflow
Node.js 9.x and 11.x: These are odd-numbered versions that were never intended for long-term support (LTS). They might have specific compatibility issues and are not recommended for production use on Windows or any other platform.
๐ŸŒ
Microsoft Learn
learn.microsoft.com โ€บ windows
Tutorial: Node.js on Windows for beginners | Microsoft Learn
A guide to help beginners get started with Node.js development on Windows.