How To Install Node Js Linux

How To Install Node Js Linux

Reading time1 min
#Nodejs#Linux#Development#NVM#JavaScript

Mastering Node.js Installation on Linux: Efficient Steps for a Clean Setup

Forget blindly using default package managers. This guide reveals how to install Node.js on Linux with precision—avoiding version conflicts and leveraging the Node Version Manager (NVM) for flexible, developer-centric control that actual pros swear by.


Node.js powers countless modern web applications; its efficient installation on your Linux machine is crucial for stability, performance, and long-term maintainability. Relying solely on the default package managers often results in outdated or conflicting versions. This practical guide walks you through mastering Node.js installation on Linux using the industry-preferred method—Node Version Manager (NVM)—to ensure a clean, flexible setup.

Why Not Just Use apt or yum?

Linux distributions like Ubuntu/Debian or Fedora/CentOS include Node.js packages via apt or yum. However, these packages often lag behind the latest stable releases. Installing directly from them can lead to:

  • Version mismatches with production environments
  • Difficulty upgrading or switching Node.js versions
  • Potential conflicts with global npm packages

The solution? Use NVM, a CLI tool designed specifically to manage multiple Node versions efficiently.


Step 1: Remove Old Node.js Versions

Before beginning, it's good practice to remove any existing Node.js installations to prevent conflicts:

sudo apt-get purge nodejs npm -y
sudo apt-get autoremove -y

Replace apt-get with your distro’s package manager if needed (yum, dnf, etc.).


Step 2: Install NVM (Node Version Manager)

NVM allows you to install multiple Node.js versions side-by-side and switch between them when needed — ideal for testing or maintaining legacy projects.

Run this command to install the latest NVM version:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

Note: You can verify the latest version of NVM here and adjust accordingly.

Apply NVM changes to your shell environment:

If you use bash:

source ~/.bashrc

For zsh users:

source ~/.zshrc

Alternatively, close and reopen your terminal.

Confirm NVM installed correctly:

command -v nvm
# Expected output: nvm

Step 3: Install Stable Node.js Version Using NVM

Now, choose and install the desired Node.js version. To install the latest LTS (Long-Term Support) version:

nvm install --lts

Or install a specific version explicitly:

nvm install 18.16.0

Set default Node version globally:

nvm alias default 18.16.0

Verify installation:

node -v       # Should output v18.16.0 (or whatever version you chose)
npm -v        # Verify npm bundled version too.

Step 4: Switching Between Multiple Versions

Using NVM, you can seamlessly switch between multiple installed versions per project needs:

List installed versions:

nvm ls

Use a different version temporarily in your shell session:

nvm use 16.20.0
node -v    # Now shows v16.20.0 until terminal is closed or switched again.

Switch back to default whenever needed:

nvm use default

Step 5 (Optional): Automate Version per Project with .nvmrc

Create an .nvmrc file in your project root specifying the desired Node.js version (e.g., 18):

18

Then run this inside your project folder to automatically activate that node version:

nvm use

This keeps your environment consistent across developers and CI pipelines.


Bonus Tips for a Clean Setup

  • Avoid sudo for global npm packages: With NVM managing versions in your home directory, npm does not require admin privileges.

  • Update npm separately if needed:

    npm install -g npm@latest 
    
  • Use .npmrc files for consistent npm behavior per project


Summary

To master Node.js installation on Linux without headaches or brittle setups, forget default package managers and embrace NVM right away — it’s lightweight, flexible, and designed by developers who understand real-world challenges.

Following these efficient steps will save you countless hours debugging mysterious conflicts and position you well for future development agility.

Happy coding! 🚀


If you found this guide helpful, consider subscribing for more practical dev tips and deep dives!