Node.js is a powerful, open-source, cross-platform JavaScript runtime environment that allows developers to execute JavaScript code outside of a web browser. Its event-driven, non-blocking I/O model makes it lightweight and efficient, ideal for building scalable network applications. This guide will walk you through the installation process for Node.js, covering various operating systems and common methods to ensure you can start developing with Node.js quickly and efficiently.
Understanding Node.js Installation Methods
Before diving into specific operating systems, it’s beneficial to understand the different approaches to installing Node.js. Each method offers distinct advantages depending on your needs, whether you prioritize simplicity, the latest features, or the ability to manage multiple Node.js versions.

Official Installer Packages
The most straightforward and recommended method for most users is to download the official installer packages directly from the Node.js website. These installers bundle Node.js and its package manager, npm (Node Package Manager), into an easy-to-use executable that guides you through the installation process. This is ideal for beginners and for users who need a stable, well-tested version of Node.js.
Node Version Manager (NVM)
For developers who frequently work on projects requiring different versions of Node.js, a Node Version Manager is invaluable. NVM allows you to install, manage, and switch between multiple Node.js versions on a single machine. This is particularly useful in team environments where different projects might depend on specific Node.js releases. NVM is available for Linux, macOS, and Windows (via a separate project called nvm-windows).
Package Managers (OS-Specific)
Many operating systems provide their own package managers that can install Node.js. While convenient for system-wide installations and automatic updates, these versions might not always be the latest available from the Node.js project. Examples include Homebrew for macOS, APT for Debian/Ubuntu, and Chocolatey for Windows. Using these methods can be efficient for quick setups but may require additional steps to manage multiple versions or access the very newest releases.
Building from Source
For advanced users and those who need highly customized installations, building Node.js from its source code is an option. This process involves downloading the source code, configuring build options, and compiling it on your machine. It provides the ultimate flexibility but is significantly more complex and time-consuming than using pre-built installers or version managers.
Installing Node.js on Different Operating Systems
The installation process for Node.js varies slightly depending on your operating system. We will cover the most common platforms: Windows, macOS, and Linux.
Windows Installation
Using the Official Installer
- Download the Installer: Navigate to the official Node.js website (nodejs.org) and download the appropriate installer for Windows. You’ll typically have a choice between the LTS (Long Term Support) version, which is recommended for most users due to its stability, and the Current version, which features the latest additions. Choose the 64-bit or 32-bit installer based on your system architecture.
- Run the Installer: Locate the downloaded
.msifile and double-click it to start the installation wizard. - Follow the Wizard: Accept the license agreement, choose the destination folder (the default is usually fine), and select the components to install. The default components include Node.js runtime and npm. You can optionally choose to add to PATH, which is crucial for using Node.js from the command line.
- Customization Options: During the installation, you might be prompted to install tools for native modules. If you plan to compile native add-ons for Node.js, it’s advisable to check this option. It will install Python and Visual Studio Build Tools, which are necessary for this process.
- Completion: Once the installation is complete, click “Finish.”
- Verification: Open a new Command Prompt or PowerShell window and type the following commands to verify the installation:
bash
node -v
npm -v
These commands should display the installed versions of Node.js and npm, respectively.
Using NVM for Windows
If you need to manage multiple Node.js versions, NVM for Windows is an excellent choice.
- Download NVM for Windows: Visit the
nvm-windowsGitHub repository (search for “nvm-windows github”) and download the latest release zip file. - Install NVM: Extract the contents of the zip file. You will find an installer executable. Run this installer. It’s important to uninstall any existing Node.js installations before installing NVM for Windows to avoid conflicts.
- Open Command Prompt as Administrator: To install Node.js versions, you’ll need administrative privileges.
- Install a Node.js Version: Use the
nvm installcommand followed by the version number. For example, to install the latest LTS version:
bash
nvm install lts
Or to install a specific version:
bash
nvm install 18.17.0
- Use a Node.js Version: After installation, you need to tell NVM which version to use:
bash
nvm use 18.17.0
Replace18.17.0with the version you installed. - Verification: Run
node -vandnpm -vto confirm the active version.
macOS Installation
Using the Official Installer
- Download the Installer: Go to nodejs.org and download the macOS installer (
.pkgfile). Choose between LTS and Current versions. - Run the Installer: Double-click the downloaded
.pkgfile to launch the installer. - Follow the Wizard: Proceed through the installation wizard, accepting the license agreement, choosing the installation location, and confirming the installation.
- Completion: After the installation finishes, click “Close.”
- Verification: Open the Terminal application and run:
bash
node -v
npm -v
This will confirm that Node.js and npm are installed and accessible from your command line.
Using Homebrew
Homebrew is a popular package manager for macOS, simplifying software installation.

- Install Homebrew (if not already installed): Open your Terminal and run the following command:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Follow the on-screen instructions to complete the Homebrew installation. - Install Node.js: Once Homebrew is installed, you can install Node.js with:
bash
brew install node
This command installs the latest LTS version of Node.js. - Verification: After the installation, verify by running:
bash
node -v
npm -v
Using NVM (Node Version Manager)
NVM is highly recommended for macOS users who need to manage multiple Node.js versions.
- Install NVM: Open your Terminal and run the following command to install NVM:
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
(Note:v0.39.3is an example version; always check the official NVM GitHub repository for the latest installation script.) - Configure Your Shell: The installation script will likely instruct you to add lines to your shell profile file (e.g.,
.bash_profile,.zshrc). Follow these instructions. You may need to close and reopen your Terminal or runsource ~/.bash_profile(or your respective profile file) for changes to take effect. - Install a Node.js Version: To install the latest LTS version:
bash
nvm install --lts
To install a specific version:
bash
nvm install 18.17.0
- Use a Node.js Version: Set the desired version as the active one:
bash
nvm use 18.17.0
- Verification: Check the active versions:
bash
node -v
npm -v
Linux Installation
Using the Official Binaries
- Download Binaries: Visit the Node.js download page and select the Linux Binaries (x64) or Linux Binaries (x86) depending on your system architecture. Download the
.tar.xzfile. - Extract the Archive: Open your Terminal, navigate to the download directory, and extract the archive. For example, if you downloaded
node-v18.17.0-linux-x64.tar.xz:
bash
tar -xJf node-v18.17.0-linux-x64.tar.xz
- Move to a System Directory: Move the extracted folder to a location like
/usr/localfor system-wide access:
bash
sudo mv node-v18.17.0-linux-x64 /usr/local/node
- Create Symbolic Links: Create symbolic links to the
nodeandnpmexecutables in a directory that’s in your system’s PATH, such as/usr/local/bin:
bash
sudo ln -s /usr/local/node/bin/node /usr/local/bin/node
sudo ln -s /usr/local/node/bin/npm /usr/local/bin/npm
- Verification:
bash
node -v
npm -v
Using NodeSource APT Repository (Debian/Ubuntu)
NodeSource provides up-to-date Node.js packages for Debian and Ubuntu distributions.
- Add NodeSource Repository: Open your Terminal and run the following commands, replacing
setup_18.xwith the desired major version (e.g.,setup_20.xfor Node.js 20):
bash
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- Install Node.js: After adding the repository, install Node.js using apt:
bash
sudo apt-get install -y nodejs
- Verification:
bash
node -v
npm -v
Using NVM (Node Version Manager)
NVM is also the preferred method for managing multiple Node.js versions on Linux.
- Install NVM: Open your Terminal and run the installation script:
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
(Again, check the NVM GitHub for the latest version.) - Configure Your Shell: Similar to macOS, follow the instructions provided by the script to add NVM to your shell’s profile. You might need to reload your shell.
- Install a Node.js Version:
bash
nvm install --lts
or for a specific version:
bash
nvm install 18.17.0
- Use a Node.js Version:
bash
nvm use 18.17.0
- Verification:
bash
node -v
npm -v
Post-Installation Steps and Best Practices
Once Node.js is installed, there are a few crucial steps and considerations to ensure a smooth development experience.
Updating npm
npm (Node Package Manager) is bundled with Node.js, but it’s often updated independently. It’s good practice to keep npm up-to-date.
To update npm to the latest version, run:
npm install -g npm@latest
The -g flag installs npm globally, making it available system-wide.
Global vs. Local Installations
When you install packages using npm, you can do so either globally (-g flag) or locally within a project.
- Global installations: These are typically command-line tools that you want to use from anywhere on your system (e.g.,
nodemon,pm2). - Local installations: These are project-specific dependencies. When you run
npm install <package-name>without the-gflag, the package is installed in anode_modulesfolder within your current project directory. This is the standard practice for application dependencies.
Managing Environment Variables
Node.js and npm rely on certain environment variables. The PATH variable is particularly important, as it tells your system where to find executables like node and npm. Most installers and version managers handle this automatically, but if you encounter issues, verifying your PATH is a good first step.

Using LTS vs. Current Versions
- LTS (Long Term Support): These versions are recommended for production environments and for most users. They receive critical bug fixes and security updates for an extended period, offering stability.
- Current: This version includes the latest features and improvements but may be less stable and changes more frequently. It’s suitable for developers who want to experiment with new technologies or for projects where staying on the cutting edge is a priority.
By understanding these installation methods and best practices, you can confidently set up Node.js on your development machine and begin building powerful JavaScript applications.
