How To Install Node Ubuntu

How To Install Node Ubuntu

Reading time1 min
#Node.js#Ubuntu#JavaScript#NVM#Node

Mastering Node.js Installation on Ubuntu: From Basic Setup to Optimized Development Environment

Node.js remains the backbone of modern web applications, powering everything from startups’ quick prototypes to enterprise-grade systems. And Ubuntu, trusted for its stability and extensive community support, is among the most popular operating systems for servers and development machines alike.

If you’re a developer looking to get Node.js up and running smoothly on your Ubuntu system, you might have come across many generic instructions that miss optimizing the setup for real-world needs. Forget one-size-fits-all installation guides—this post walks you through tailoring Node.js installation on Ubuntu to your project’s scale, ensuring efficiency, security, and long-term maintainability.


Why Properly Installing Node.js on Ubuntu Matters

  • Performance: The right version and setup mean your server or development environment runs efficiently without unexpected hiccups.
  • Security: Outdated versions or incorrect permissions can expose vulnerabilities.
  • Workflow Efficiency: Using version managers or package managers smartly makes switching Node versions easier and saves time troubleshooting environment issues.

Step 1: Preparing Your Ubuntu System

Start by updating your package index and upgrading existing packages:

sudo apt update && sudo apt upgrade -y

This ensures all dependencies are current.

You should also have essential build tools installed, especially if you plan to compile native addons:

sudo apt install build-essential curl -y

Step 2: Choosing How to Install Node.js on Ubuntu

There are several methods — and your choice depends on your project needs:

1. Using Ubuntu’s Default Repositories (Quick but Outdated)

sudo apt install nodejs npm -y

Pros: Fast, simple.
Cons: Often older versions that lack latest features/fixes.

Check installed version with:

node -v
npm -v

2. Using Nodesource PPA (Recommended for Most Use Cases)

Nodesource maintains up-to-date packages for various Node versions.

To install Node.js 18.x (current LTS as of writing):

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

Verify the installation:

node -v   # e.g., v18.x.x
npm -v    # npm version bundled with this node version

You now get a maintained stable build with security patches.

3. Using NVM — Node Version Manager (Best for Developers Switching Projects)

If you work on multiple projects requiring different Node versions or want complete control over environment upgrades, NVM is your friend.

Install NVM via its script:

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

Reload shell configuration to enable nvm command:

source ~/.bashrc    # Or ~/.zshrc depending on shell

Install a specific Node version:

nvm install 18   # Installs latest v18.x LTS release
nvm use 18       # Switches current shell session to node v18
nvm alias default 18   # Makes v18 default in new terminals/sessions

Check version with node -v.

NVM keeps local installations within your user directory — no sudo required, avoiding permission problems.


Step 3: Verify Your Installation with a Test Script

Create a file hello.js:

console.log("Hello from Node.js on Ubuntu!");

Run it:

node hello.js

Expected output:

Hello from Node.js on Ubuntu!

Success! Your basic environment works.


Step 4: Enhance Your Setup for Development Optimization

Install npm Packages Globally without Sudo (NVM Does This Naturally)

If using system-wide install (e.g., Nodesource), configuring npm global directory avoids permission errors:

mkdir "${HOME}/.npm-global"
npm config set prefix "${HOME}/.npm-global"
export PATH="${HOME}/.npm-global/bin:${PATH}"
echo 'export PATH=${HOME}/.npm-global/bin:${PATH}' >> ~/.profile

source ~/.profile

Now installing global packages won’t require sudo.

Example:

npm install -g nodemon eslint typescript

Use .nvmrc Files Per Project

If using NVM, create .nvmrc in project folders specifying required node version:

echo "18" > .nvmrc   # For example: project requires node v18.x LTS

Simply run nvm use in that folder and nvm picks this up automatically, ensuring team-wide consistent environments.


Step 5: Keeping Node.js Updated Safely

For Nodesource installs, update similar to system packages:

sudo apt update && sudo apt upgrade nodejs npm -y    

With NVM:

nvm install node        # Installs newest stable version (e.g., v20)
nvm uninstall oldversion    # Remove old versions as needed.

This flexibility helps maintain security patches without downtime.


Final Thoughts

Installing Node.js on Ubuntu can be as straightforward or as tailored as you want it to be. For quick projects or server environments, Nodesource's PPA provides clean management of maintained versions—and for developers juggling multiple projects or frequent updates, NVM offers unparalleled flexibility without root permissions headaches.

By following these steps step-by-step—updating your system first, selecting an appropriate installation method, verifying with test scripts, implementing best practices like global npm installs without sudo permissions, and embracing simple version control—you’ll build an optimized environment that supports performance, security, and smooth workflows well into the future.

Happy coding!


Have questions or want help customizing further? Drop them in the comments below!