Read in 5 minutes

How to install Node.js on Ubuntu 18.04

This tutorial explains how to install Node.js and npm on a Ubuntu 18.04 machine. Node.js is an open source cross-platform JavaScript run-time environment that allows server-side execution of JavaScript code which simply means that you can run JavaScript code on your machine as a standalone application, free of any web browser. Node.js is mainly used on the back-end, but it is also popular as a full-stack and front-end solution. npm is the default package manager for Node.js and the world’s largest software registry.

There are several different ways to install Node.js on a Ubuntu 18.04 machine. In this tutorial we will show you three different ways to install Node.js, personally I prefer to install Node.js using the NVM script.

Install Node.js from the Ubuntu repository

Node.js package is available from the Ubuntu 18.04 distribution repository. At the time of writing, the version in the repositories is v8.10.0 which may not always be the latest version.

As always before installing a package with apt first we need to refresh the packages index and then install the Node.js package by typing:

sudo apt update
sudo apt install nodejs

Verify the installation by typing:

nodejs --version
v8.10.0

The Node.js executable from the Ubuntu repositories is named nodejs instead of node because of a conflict with another package.

To be able to download npm packages, we also need to install npm, the Node.js package manager. We can do that by typing:

sudo apt install npm

Install Node.js from the NodeSource repository

NodeSource is a company focused on providing enterprise-grade Node support and they maintain a repository containing the latest versions of Node.js.

To enable the NodeSource repository type the following command:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

The current LTS version of Node.js is version 8.x, Carbon. If you need to install version 10.x just change setup_8.x with setup_10.x

Once the NodeSource repository is enabled install Node.js and npm by typing:

sudo apt install nodejs

Check if the installation was successful, by printing the Node.js and npm versions:

node --version
v8.11.1
npm --version
5.6.0
Advertisement

Install Node.js using NVM

NVM (Node Version Manager) is a bash script used to manage multiple active Node.js versions. With NVM we can install and uninstall any specific Node.js allowing us to have any number of Node.js versions we want to use or test.

To download the nvm install script type:

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

The script clones the nvm repository from Github to ~/.nvm and adds the script path to your Bash or ZSH profile.

=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

As the output above says, we need to either close and reopen the terminal or run the commands to add the path to nvm script to our current session. You can do whatever is easier for you.

To verify that nvm was properly installed type:

nvm --version
0.33.11

Now that we have nvm installed we can install the latest available version of Node.js, by typing:

nvm install node
Downloading and installing node v10.1.0...
Downloading https://nodejs.org/dist/v10.1.0/node-v10.1.0-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v10.1.0 (npm v5.6.0)
Creating default alias: default -> node (-> v10.1.0)

We can verify the Node.js version, by typing:

node --version
v10.1.0

Let’t install two more versions, the latest LTS version and version 4.9.1

nvm install --lts
nvm install 4.9.1

Once LTS version and 4.9.1 are installed we can list installed Node.js instances by typing:

nvm ls
->       v4.9.1                      # ACTIVE VERSION
        v8.11.1
        v10.1.0
default -> node (-> v10.1.0)         # DEFAULT VERSION
node -> stable (-> v10.1.0) (default)
stable -> 10.1 (-> v10.1.0) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> v8.11.1)
lts/argon -> v4.9.1
lts/boron -> v6.14.2 (-> N/A)
lts/carbon -> v8.11.1

The output tells us that the entry with an arrow on the left (-> v4.9.1), is the version used in the current shell session and the default version is set to v10.1.0. Default version is the version that will be active when opening new shells.

We change the current active version with:

nvm use 8.11.1

and verify it by typing:

nvm current
v8.11.1

In case you want to set version 8.11.1 as a default Node.js version you can do that with the following command:

nvm alias default 8.11.1

Install development tools

We need to install the development tools so that we are able to build native addons from npm, to install all the necessary packages type:

sudo apt install gcc g++ make

Uninstall Node.js

If for some reasons you want to uninstall Node.js and npm packages, you can use the following command:

sudo apt remove nodejs npm

Conclusion

We have shown you three different ways to install Node.js and npm on your Ubuntu 18.04 server. The method you choose depends on your requirements and preferences. While installing the packaged version from the Ubuntu or NodeSource repository is easier, the nvm method gives you more flexibility for adding and removing different Node.js versions on a per user basis.


That’s it! If you have any questions or feedback, feel free to comment below.