Skip to main content

Install Node.js on Debian

Today we learn installing Node.js on Debian, one of the most popular Linux distributions. Node.js is a powerful JavaScript runtime environment that allows you to run server-side JavaScript code. It's widely used for building scalable network applications and has become a staple in the toolkit of modern web developers.

In this tutorial, we'll walk through the process of installing Node.js on Debian step by step. We'll explore different methods, including using the official Debian repositories, NodeSource, and Node Version Manager (NVM). By the end of this guide, you'll have a solid understanding of how to install and manage Node.js on your Debian system.

Prerequisites

Before we begin, ensure that you have:.

  • A Debian-based system (such as Debian, Ubuntu, or Linux Mint).
  • Sudo privileges or access to a user with such privileges.
  • A basic understanding of the terminal and command-line operations.

Updating the System

It's always a good idea to start with an updated system. Open your terminal and run the following commands to update your package list and upgrade existing packages:.

sudo apt update
sudo apt upgrade

Installation Methods

Using NodeSource Repository

NodeSource provides precompiled Node.js binaries in .deb format and is one of the most straightforward ways to install Node.js on Debian.

  1. Visit NodeSource:.

Go to the NodeSource releases page to find the latest Node.js versions available for Debian.

  1. Install Node.js:.

Choose the version you want to install and run the corresponding setup script provided by NodeSource. For example, to install Node.js version 16.x, you would use:.

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
  1. Verify the Installation:.

Check the installed Node.js and npm versions with:.

node -v
npm -v

My Output:.

v16.13.0
8.1.0

Using NVM (Node Version Manager)

NVM is a tool that allows you to install and manage multiple Node.js versions. It's particularly useful if you work on different projects that require different Node.js versions.

  1. Install NVM:.

Install NVM by running the install script from the project's GitHub page:.

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

Close and reopen your terminal, or source your profile file with source ~/.bashrc (or source ~/.bash_profile for Bash, or the equivalent for your shell).

  1. Install Node.js with NVM:.

Now, you can install any version of Node.js. For example, to install the latest Node.js version, run:.

nvm install node

To install a specific version, like version 14.17.0, use:.

nvm install 14.17.0


  1. Set a Default Node.js Version:.

To set a default Node.js version to be used in any new shell, use:.

nvm alias default 14.17.0


  1. Switching Node.js Versions:.

To switch to the version you want to use, run:.

nvm use 14.17.0

<!-- c -->

Using the Official Debian Repositories

Debian's official repositories may not always have the latest Node.js version, but they are the most straightforward option if you prefer to use the distribution's package management system.

  1. Install Node.js:.
sudo apt-get install -y nodejs npm
  1. Verify the Installation:.

As before, verify the installation with:.

node -v
npm -v

Using Snap Packages

Snap is a package management system developed by Canonical for operating systems that use the Linux kernel.

  1. Install Node.js via Snap:.
sudo snap install node --classic --channel 16/stable


This command installs Node.js version 16 from the stable channel.

  1. Verify the Installation:.

Verify the installation with:.

node -v
npm -v

Managing Node.js Versions

If you've used NVM to install Node.js, you can easily switch between versions using the nvm use command. For example:.

nvm use 12.22.1

Configuring npm

To configure npm, you might want to set up your default registry or modify the directory where global packages are installed. For example:.

npm config set prefix /home/yourusername/.npm/

This command sets the directory for global packages to /home/yourusername/.npm/.

Installing Global Packages

To install packages globally, use the -g flag with npm install. For example:.

npm install -g typescript

This command installs TypeScript globally on your system.

Setting Up a Node.js Project

  1. Create a Project Directory:.
mkdir my-node-project
cd my-node-project


  1. Initialize a Project:.
npm init -y


This command creates a package.json file with default values.

  1. Add Dependencies:.
npm install express

This command adds the express package to your project's node_modules directory and updates package.json.

Create Hello World Node.js Application

Now that you have installed Node.js and verified that it is working correctly, you can create your first Node.js application.

Create a new directory for your application and navigate to it:

mkdir myapp
cd myapp

Create a new file named app.js and add the following code:

console.log('Hello, World!');

Save the file and exit. Then, run the following command to execute the application:

node app.js

This command should output the following message:

Hello, World!

Congratulations! You have successfully installed Node.js on Debian and created your first Node.js application.

Security Considerations

Always ensure that your Node.js environment is secure. Use npm audit to find vulnerabilities in your project's dependencies:.

npm audit

Troubleshooting Common Issues

  • Permission Issues: If you encounter permission issues with global packages, consider changing npm's default directory or using sudo for installation.
  • Outdated Versions: If the version of Node.js in the Debian repositories is outdated, consider using NodeSource or NVM for a newer version.

What we've learned

You've now learned multiple methods to install Node.js on Debian. Whether you choose to use NodeSource, NVM, the official Debian repositories, or Snap packages, you're equipped with the knowledge to get Node.js up and running on your system.

Further Reading

Appendix: Uninstalling Node.js

To remove Node.js installed from the official Debian repositories, use:.

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

To remove Node.js installed with NVM, use:.

nvm uninstall 14.17.0

Replace 14.17.0 with the version you want to uninstall.

For Node.js installed via Snap, use:.

sudo snap remove node

Remember to always verify the commands and their implications before running them on your system.