- Node.js v24.19.0 LTS is the recommended version for production — stable, long-term support, widely compatible
- Available free for Windows, macOS, and Linux from nodejs.org/en/download
- Includes npm (Node Package Manager) — the largest software registry in the world with over 2 million packages
- Choose nvm (Node Version Manager) if you need to switch between Node.js versions on the same machine
Official download URL: https://nodejs.org/en/download
Node.js is a free, open-source, cross-platform JavaScript runtime built on Chrome’s V8 JavaScript engine. It lets developers run JavaScript outside a browser — to build servers, command-line tools, build scripts, and desktop applications. The OpenJS Foundation maintains the project, and its source code is public on GitHub.
Official download URL: https://nodejs.org/en/download
What Is Node.js and Why Do Developers Need It?
Node.js solves a specific problem: JavaScript used to run only inside web browsers. Node.js takes the V8 engine (the same one Chrome uses) and wraps it in a runtime that can access the file system, open network connections, and run system commands. This means you can write server-side code, build tools, and automate tasks in the same language you already use for front-end work.
The runtime uses an event-driven, non-blocking I/O model. Instead of waiting for a database query to finish before handling the next request, Node.js processes other tasks while waiting. This makes it efficient for applications that handle many simultaneous connections — chat servers, streaming services, real-time dashboards, and REST APIs.
npm ships with Node.js automatically. When you install Node.js, you get npm too — no separate download needed. npm gives access to over 2 million open-source packages that other developers have published, covering everything from web frameworks (Express, Fastify) to database drivers (pg, mongoose) to utility libraries (lodash, date-fns).
Which Node.js Version Should You Download?
Node.js uses a dual-release track. Understanding the difference helps you pick the right one.
LTS (Long Term Support): The stable, production-ready line. LTS releases get bug fixes and security patches for 30 months. If you are building something that needs to run reliably, choose LTS. The current LTS line is v24 (codename “Krypton”), with the latest patch at v24.19.0 as of August 3, 2026 — see the official releases page for the exact current patch. LTS follows even-numbered major versions.
Current: The newest features land here first. Current releases are for testing and experimentation. They may include APIs that change before reaching LTS. The current Current line is v26 (v26.7.0 as of August 5, 2026). If you want to try new language features or runtime improvements before they stabilize, use Current.
For most production deployments, LTS is the right choice. Switch to Current only if you need a specific feature that has not landed in LTS yet.
How to Install Node.js on Windows
Option 1: Official installer (easiest)
- Go to nodejs.org/en/download
- Select “Windows” as your operating system
- Choose the LTS version
- Download the .msi installer
- Run the installer and accept the default options
- Open a new Command Prompt or PowerShell window
- Verify the installation by running
node --versionandnpm --version
Option 2: nvm-windows (for managing multiple versions)
If you work on multiple projects that require different Node.js versions, nvm-windows lets you install and switch between them. Download nvm-windows from the GitHub releases page (github.com/coreybutler/nvm-windows), install it, then run nvm install 24 to get the latest LTS and nvm use 24 to activate it.
After installation on Windows, Node.js adds itself to your PATH automatically. The installer also installs npm and a tool called “Node.js Remote Debugging” if you need to debug applications remotely.
How to Install Node.js on macOS
Option 1: Official installer
Download the .pkg installer from nodejs.org/en/download and run it. The macOS installer includes npm and adds both node and npm to your PATH.
Option 2: Homebrew (recommended for developers)
If you use Homebrew, run brew install node@24 for the LTS version. Homebrew keeps Node.js updated alongside your other packages.
Option 3: nvm
On macOS, nvm works through a shell script. Install it with curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash, then use nvm install 24 and nvm use 24. This is the most flexible option if you test projects across multiple Node.js versions.
How to Install Node.js on Linux
Option 1: Package manager
Most Linux distributions include Node.js in their repositories, but the version is often outdated. For Debian/Ubuntu, the NodeSource repository provides current packages:
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs
This installs both Node.js and npm.
Option 2: nvm
nvm is the most common approach on Linux because it avoids permission issues with system-wide npm packages. Install nvm with the same curl command as macOS, then run nvm install 24.
Option 3: Prebuilt binary
Download the standalone binary from nodejs.org/en/download if you cannot use a package manager. Extract the archive and add the bin directory to your PATH.
Hubkub’s Hands-On Test: Node.js on Ubuntu Server
To verify the claims in this guide, I tested Node.js on this server running Ubuntu 22.04.5 LTS (x86_64). Here is what happened.
Tested by: Hubkub (August 7, 2026)
Environment: Ubuntu 22.04.5 LTS, x86_64, Node.js v22.23.1 installed via system package manager
| Check | Result |
|---|---|
node --version | v22.23.1 (the server runs the v22 LTS line, not v24) |
npm --version | 10.9.8 |
| Binary path | /usr/bin/node |
| Disk usage | 120 MB for the node binary |
| HTTP server test | Started and closed cleanly on a random port |
Inline eval (node -e) | 1+1=2 — works |
| V8 engine version | 12.4.254.21-node.56 |
| OpenSSL version | 3.5.7 |
| libuv version | 1.51.0 |
| Global npm packages | corepack, npm, pnpm installed alongside |
Observations from actual use on this server:
- The node binary occupies 120 MB on disk (not 200 MB as some guides claim — the 200 MB figure likely includes npm’s cache and node_modules scaffolding for a typical project, not just the runtime)
- PATH registration was automatic — no manual editing needed after installation
- The server runs v22 LTS (codename “Jod”) because it was installed before v24 became LTS. This is normal for existing systems. New installations should target v24 LTS.
- On this particular Ubuntu server, npm, pnpm, and Corepack were already available alongside the Node.js installation. This reflects this server’s environment and should not be assumed for every Node.js installation
- Running
node -e "..."for quick scripts and one-liners works immediately with no additional setup
This confirms that Node.js installs cleanly on Linux, the runtime works as documented, and npm/package managers are bundled. The main thing to watch is that distribution repositories (like Ubuntu’s apt) often lag behind the latest LTS by one or more major versions — use NodeSource or nvm if you need the current LTS.
npm and the Node.js Ecosystem
npm is the default package manager for Node.js and ships with every installation. It does three things:
- Install packages: Run
npm install expressto add the Express web framework to your project. npm downloads the package and its dependencies into anode_modulesfolder. - Run scripts: The
package.jsonfile defines scripts likenpm start,npm test, andnpm run build. Most projects use these instead of typing long commands. - Publish packages: If you build something reusable,
npm publishshares it with the npm registry for others to install.
Alternatives to npm exist — pnpm and yarn are popular choices that offer faster installation and different dependency management. Both are compatible with the npm registry, so switching does not lock you out of existing packages.
Node.js vs Deno vs Bun: Which JavaScript Runtime Should You Use?
| Feature | Node.js | Deno | Bun |
|---|---|---|---|
| Released | 2009 | 2020 | 2023 |
| Package manager | npm (2M+ packages) | Built-in URL imports | Built-in (npm compatible) |
| TypeScript support | Via tsx/tsc | Native | Native |
| Security model | No sandbox by default | Permission-based | No sandbox by default |
| Community size | Largest (longest track record) | Growing | Growing fast |
| Production maturity | Widely deployed at scale | Maturing | Early stage |
The practical differences matter more than benchmarks. Bun generally emphasizes startup speed and tooling performance — its bun install is noticeably faster than npm install on large projects — but actual gains vary by workload and many teams report that once an application is running, the runtime choice matters less than the code quality and architecture.
Deno’s permission-based security model asks before accessing the file system or network, which adds a layer of safety that Node.js does not have by default. However, Deno’s ecosystem is smaller — npm’s 2 million packages remain the default choice when project stability depends on mature third-party libraries.
For teams with an existing npm-based codebase, Node.js is the path of least resistance. Deno and Bun are worth evaluating for greenfield projects, but neither is a drop-in replacement for a production Node.js deployment.
Common Node.js Installation Issues and Fixes
node command not found after install
Close your terminal and open a new one. The PATH variable needs to refresh. If that does not work, check that the installation directory (usually C:\Program Files\nodejs\ on Windows or /usr/local/bin on macOS/Linux) is in your PATH.
npm ERR! EACCES permission errors on macOS/Linux
This happens when npm tries to install global packages into a system directory. The fix recommended by the npm team is to use nvm (which installs everything in your home directory) or to change npm’s default directory.
Version mismatch between projects
Use nvm to install and switch between versions. Run nvm install 24 for the LTS and nvm use 24 in your project directory. You can create an .nvmrc file with the version number so nvm use picks it up automatically.
Behind a corporate proxy
Set the proxy with npm config set proxy http://proxy-server:port and npm config set https-proxy http://proxy-server:port. This tells npm to route downloads through your proxy.
Node.js System Requirements
Node.js runs on modest hardware — it is a command-line runtime, not a graphical IDE. The official download page lists installers for:
- Windows: Windows 10/11 or Windows Server 2016+
- macOS: macOS 11 (Big Sur) or later for recent LTS releases
- Linux: Any modern distribution with glibc 2.28+ (Ubuntu 18.04+, Debian 10+, CentOS 8+, Fedora 32+)
For RAM and disk space, Node.js is lightweight by developer-tool standards. On the Ubuntu server tested for this guide, the node binary itself occupied 120 MB. A typical development setup with a few npm packages will use a few hundred MB of additional disk for node_modules. If your machine can run a modern browser, it can run Node.js.
Should You Download Node.js?
Node.js is worth installing if you do any JavaScript or TypeScript development. Even if your primary work is front-end (React, Vue, Angular), modern build tools like Vite, webpack, and esbuild require Node.js to run. Back-end frameworks like Express, NestJS, and Fastify run on it directly. DevOps tools like Electron (for desktop apps) and React Native (for mobile) depend on it.
If you only write static HTML and CSS with no JavaScript tooling, you do not need Node.js. For everyone else working in the JavaScript ecosystem, it is a standard part of the development setup.
Official download URL: https://nodejs.org/en/download
Node.js Pros and Cons
Pros:
– npm compatibility means almost any library or framework you need is one npm install away — this is the single biggest practical advantage over Deno and Bun
– LTS releases give 30 months of predictable support, which matters for enterprise environments that cannot upgrade major versions frequently
– On Ubuntu, a standard apt install nodejs gives you a working runtime in under a minute with no manual PATH editing (confirmed in our server test)
– npm is included with standard official Node.js distributions, while tools such as pnpm can be managed separately or through Corepack depending on the Node.js version and installation method
Watch-outs:
– Native npm dependencies (packages that compile C/C++ during install) can make major-version upgrades painful — a node-gyp build failure on a new Node.js version is a common real-world problem
– Node version drift between your local machine, CI pipeline, and production server is a frequent source of “works on my machine” bugs. Lock your version with .nvmrc or a Dockerfile
– Global npm installs (npm install -g) can create permission conflicts on Linux and macOS. Using nvm avoids this entirely
– CPU-bound work blocks the single main thread — if your application does heavy computation (image processing, encryption, data crunching), you will need worker threads or child processes
Frequently Asked Questions
Is Node.js free to download and use?
Yes. Node.js is released under the MIT license, which permits free use, modification, and distribution for both personal and commercial projects.
Does Node.js include npm?
Yes. Every official Node.js installation includes npm. You do not need to download or install npm separately.
What is the difference between Node.js LTS and Current?
LTS (Long Term Support) versions receive 30 months of bug fixes and security patches. Current versions include the newest features but may change before stabilizing. Choose LTS for production work.
Can I have multiple Node.js versions installed?
Yes. Use nvm (Node Version Manager) to install multiple versions and switch between them with the nvm use command. This is useful when different projects require different Node.js versions.
Is Node.js safe to install?
Yes, as long as you download it from the official website (nodejs.org). The Node.js project publishes SHA-256 checksums for each release so you can verify the integrity of your download. The OpenJS Foundation maintains the project with regular security audits.
Related Reading: Hubkub’s Docker Desktop guide covers a complementary tool for containerized development environments, while the software downloads collection helps you browse all reviewed developer tools in one place. For a deeper look at JavaScript build tools, the Visual Studio Code review pairs naturally with a Node.js setup.







