Node.js is a powerful, open-source, cross-platform JavaScript runtime environment that allows developers to build a wide variety of applications, from command-line tools to complex server-side applications and even desktop applications. Its event-driven, non-blocking I/O model makes it lightweight and efficient, particularly well-suited for data-intensive real-time applications. Understanding how to install and manage Node.js is a fundamental step for anyone looking to leverage this versatile technology. This guide will walk you through the installation process across different operating systems, ensuring you have a robust development environment ready to go.
Understanding Node.js Installation Methods
There are several primary ways to install Node.js, each offering distinct advantages depending on your needs and operating system. The most common methods involve using official installers, package managers, or version managers.

Official Installers
The most straightforward method for many users is to download and run the official installers provided by the Node.js project. These installers are tailored for specific operating systems (Windows, macOS, Linux) and bundle Node.js along with the npm (Node Package Manager) command-line utility. npm is essential for managing project dependencies, installing external libraries, and running scripts.
Windows Installation
For Windows users, downloading the .msi installer from the official Node.js website (nodejs.org) is generally the easiest path.
- Visit the Official Website: Navigate to nodejs.org.
- Download the Installer: You will typically see two download options: LTS (Long Term Support) and Current. For most users, the LTS version is recommended as it is more stable and receives updates for a longer period. Click on the Windows Installer (.msi) link corresponding to your system’s architecture (usually 64-bit).
- Run the Installer: Once the download is complete, double-click the
.msifile to launch the installation wizard. - Follow the Wizard:
- Welcome Screen: Click “Next”.
- End-User License Agreement: Accept the terms and click “Next”.
- Destination Folder: Choose the installation directory. The default location is usually fine for most users. Click “Next”.
- Custom Setup: This screen allows you to select components to install. Ensure that “Node.js runtime” and “npm package manager” are selected. You can also choose to install “Add to PATH,” which is highly recommended as it makes Node.js and npm accessible from any command prompt or terminal window. Click “Next”.
- Tools for Native Modules: You may see an option to “Automatically install the necessary tools.” This includes Chocolatey, Python, and Visual Studio Build Tools, which are required for compiling native add-ons. It’s often beneficial to check this box if you anticipate working with modules that have native components. If you skip this, you might need to install these tools manually later. Click “Next”.
- Ready to Install: Click “Install”.
- User Account Control: If prompted, allow the installer to make changes to your device.
- Complete Installation: Once the installation is finished, click “Finish”.
- Verify Installation: Open a new Command Prompt or PowerShell window and type the following commands:
bash
node -v
npm -v
These commands should display the installed versions of Node.js and npm, confirming a successful installation.
macOS Installation
Similar to Windows, macOS users can opt for a graphical installer or use a package manager.
- Visit the Official Website: Go to nodejs.org.
- Download the Installer: Download the macOS Installer (.pkg) for either the LTS or Current version.
- Run the Installer: Double-click the downloaded
.pkgfile. - Follow the Wizard:
- Introduction: Click “Continue”.
- License: Accept the terms and click “Continue”.
- Installation Type: Choose “Install for all users of this computer” (recommended) or “Install on a specific disk.” Click “Continue”.
- Installation: Click “Install”. You may be prompted for your administrator password.
- Summary: Once complete, click “Close”.
- Verify Installation: Open the Terminal application and run:
bash
node -v
npm -v
This confirms that Node.js and npm are installed and accessible.
Linux Installation
Linux users have a variety of options, including downloading binaries, using package managers provided by their distribution, or utilizing Node Version Manager (nvm).
-
Using Official Binaries (Manual Installation):
- Download: Go to nodejs.org/en/download/ and download the Linux Binaries (x64)
.tar.xzfile. - Extract: Extract the archive to your desired location (e.g.,
/usr/local).
bash
tar -xJf node-vX.Y.Z-linux-x64.tar.xz -C /usr/local --strip-components=1
ReplaceX.Y.Zwith the version number you downloaded. - Add to PATH: You’ll need to manually add Node.js to your system’s PATH. Edit your shell’s profile file (e.g.,
~/.bashrc,~/.zshrc) and add the following line:
bash
export PATH=/usr/local/bin:$PATH
Then, source the file:source ~/.bashrc(or your respective shell profile). - Verify:
bash
node -v
npm -v
- Download: Go to nodejs.org/en/download/ and download the Linux Binaries (x64)
-
Using Distribution Package Managers (e.g., apt, yum):
This method is convenient but may not always provide the latest Node.js versions.-
Debian/Ubuntu:
sudo apt update sudo apt install nodejs npmNote: Sometimes, the
nodejspackage in older Ubuntu/Debian versions might be outdated. For newer versions, consider adding NodeSource’s PPA:curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejsReplace
lts.xwith18.xor20.xif you want a specific LTS version. -
Fedora/CentOS/RHEL:
bash
sudo yum install nodejs # Or dnf for newer Fedora
Similar to Debian/Ubuntu, you might need to use NodeSource for newer versions:
bash
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo -E bash -
sudo yum install -y nodejs
-
Node Version Manager (nvm)
For developers who work on multiple projects requiring different Node.js versions, or who need to switch between LTS and Current versions frequently, a Node Version Manager is indispensable. nvm is a popular choice for macOS and Linux.
Installing nvm
- Download and Run the Install Script: Open your terminal and run the following command. It’s best to check the official nvm GitHub repository for the latest installation script.
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
(Replacev0.39.7with the current latest version). - Source the Profile: The installation script will modify your shell profile file (
~/.bashrc,~/.zshrc, etc.) to load nvm. After installation, close and reopen your terminal, or run:
bash
source ~/.bashrc # Or your respective shell profile
- Verify nvm Installation:
bash
command -v nvm
This should outputnvm, indicating it’s installed and loaded.
Using nvm to Install Node.js

- List Available Versions: To see all installable Node.js versions:
bash
nvm ls-remote
- Install a Specific Version: To install the latest LTS version:
bash
nvm install --lts
To install a specific version (e.g., Node.js 20.11.0):
bash
nvm install 20.11.0
- Use a Specific Version: To start using an installed version:
bash
nvm use --lts
Or for a specific version:
bash
nvm use 20.11.0
- Set a Default Version: To make a version the default when you open a new terminal:
bash
nvm alias default lts
Or for a specific version:
bash
nvm alias default 20.11.0
- List Installed Versions: To see which Node.js versions you have installed:
bash
nvm ls
Node.js Installation on Windows with nvm-windows
For Windows, a separate project, nvm-windows, provides similar version management capabilities.
- Download the Installer: Go to the nvm-windows releases page and download the
nvm-setup.zipfile. - Install nvm-windows: Extract the contents and run the
nvm-setup.exeinstaller. Follow the on-screen prompts. It’s recommended to install both nvm-windows and Node.js in separate directories. - Open Command Prompt as Administrator: This is often required for nvm-windows commands.
- Install Node.js:
bash
nvm install lts
Or a specific version:
bash
nvm install 20.11.0
- Use Node.js:
bash
nvm use lts
Or a specific version:
bash
nvm use 20.11.0
- Verify Installation:
bash
node -v
npm -v
Verifying Your Node.js Installation
After installation, it’s crucial to verify that Node.js and npm have been installed correctly and are accessible in your system’s PATH.
Command-Line Verification
The most common way to verify your installation is by opening your system’s terminal or command prompt and running the following commands:
node -v
This command should output the version number of Node.js that you have installed (e.g., v18.19.0).
npm -v
This command should output the version number of npm that was installed alongside Node.js (e.g., 9.8.1).
If these commands return a version number, your installation was successful, and Node.js is ready for use. If you receive an error like “command not found,” it indicates that Node.js is not correctly added to your system’s PATH, or the installation failed. In such cases, revisit the installation steps for your specific operating system and ensure the PATH variable is updated. For manual installations on Linux, this step is particularly important.
Testing a Simple Node.js Script
To further confirm the functionality, you can create and run a simple JavaScript file using Node.js.
- Create a file: Open a text editor and create a file named
hello.js. - Add content: Paste the following code into
hello.js:
javascript
console.log("Hello from Node.js!");
- Save the file.
- Run the script: Open your terminal or command prompt, navigate to the directory where you saved
hello.js, and run:
bash
node hello.js
If everything is set up correctly, you should see the output:Hello from Node.js!.
Managing Node.js Versions with nvm
For developers who frequently switch between projects, each potentially requiring a different Node.js version, Node Version Manager (nvm) is an invaluable tool. It allows you to install, manage, and switch between multiple Node.js versions seamlessly without conflicts.
Key nvm Commands
nvm install <version>: Installs a specific Node.js version. You can usenodefor the latest version,ltsfor the latest LTS version, or a specific version number like18.19.0.nvm use <version>: Switches your current shell session to use a specific installed Node.js version.nvm ls: Lists all Node.js versions installed on your system.nvm ls-remote: Lists all Node.js versions available for installation remotely.nvm alias default <version>: Sets a default Node.js version that will be used automatically when you open a new terminal.nvm uninstall <version>: Removes a specific Node.js version from your system.
By leveraging nvm, you can maintain a flexible and adaptable Node.js environment that caters to the diverse requirements of your development workflow. This is particularly crucial in professional settings where project dependencies can be strict and varied.

Conclusion
Installing Node.js is the gateway to a vast ecosystem of JavaScript development tools and frameworks. Whether you opt for official installers for simplicity or utilize a version manager like nvm for flexibility, ensuring a correct and verifiable installation is the first step toward building powerful applications. By following the steps outlined in this guide, you can confidently set up your development environment and begin harnessing the capabilities of Node.js. Remember to always refer to the official Node.js documentation and relevant version manager repositories for the most up-to-date information and advanced usage.
