How To Install NodeJS On Linux

install-nodejs-on-linux

How To Install NodeJS On Linux

Today In this quick guide, we will see introduction to NodeJS and how to different ways to install Nodejs on Linux distributions including Arch Linux, Debian, Ubuntu, RHEL, CentOS, Fedora etc.

What is NodeJS?

NodeJS is an open source, cross-platform, and lightweight JavaScript run-time environment that can be used to build scalable network applications. It is fast and efficient server-side software built on Chrome’s V8 JavaScript engine. Initially, JavaScript was primarily used for client-side scripting. But, Nodejs enables JavaScript to be used for server-side scripting, and runs scripts server-side to produce dynamic web pages. Another notable thing is Nodejs has a command-line utility called npm, a package manager to install, manage nodejs libraries and applications. Nodejs package ecosystem is the largest ecosystem of open source libraries in the world.

Install NodeJS on Linux

There are quite a few ways to install Nodejs in Linux. Here I have listed 3 methods.

The first method is the officially recommended way to install Nodejs. Especially, the first method is the best way to avoid permission issues while installing packages globally

The second method is for those who wants to use the stable NodeJS version.

And, the third and final method describes how to install Nodejs from source. This is suitable for those who wants to get hands on latest nodejs version.

1. Install Nodejs on Linux using NVM (Recommended method)

This is the recommended way to install Nodejs. Furthermore, it is the best way to avoid permissions issues. NVM (Node Version Manager) is a bash script used to manage multiple Node.js versions. It allows us to install, uninstall node.js, and switch from one version to another. Good thing is we can install to any available Node.js version of our choice, using NVM.

To install nvm, use the latest install script from here.

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

Or,

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

The above command will clone the nvm repository to ~/.nvm and add the source line to your profile (~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).

Sample output:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14926 100 14926 0 0 35120 0 --:--:-- --:--:-- --:--:-- 35202
=> Downloading nvm from git to '/home/ostechnix/.nvm'
=> Cloning into '/home/ostechnix/.nvm'...
remote: Enumerating objects: 345, done.
remote: Counting objects: 100% (345/345), done.
remote: Compressing objects: 100% (293/293), done.
remote: Total 345 (delta 39), reused 161 (delta 27), pack-reused 0
Receiving objects: 100% (345/345), 202.04 KiB | 834.00 KiB/s, done.
Resolving deltas: 100% (39/39), done.
* (HEAD detached at FETCH_HEAD)
master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /home/ostechnix/.bashrc
=> Appending bash_completion source string to /home/ostechnix/.bashrc
=> 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

Restart your Terminal once before start using NVM. If you are on SSH, exit from the current session and log in again.

To verify whether NVM is installed or not, run:

$ command -v nvm

Sample output:

nvm

It should output ‘nvm’ if the installation was successful.

Now, we can install Nodejs and npm.

First, run the following command to view the list of available Nodejs versions:

$ nvm ls-remote

Sample output:

[...]
v14.16.1 (Latest LTS: Fermium)
v15.0.0
v15.0.1
v15.1.0
v15.2.0
v15.2.1
v15.3.0
v15.4.0
v15.5.0
v15.5.1
v15.6.0
v15.7.0
v15.8.0
v15.9.0
v15.10.0
v15.11.0
v15.12.0
v15.13.0
v15.14.0
v16.0.0
v16.1.0

To install/update to the most recent Nodejs version in Linux, just run:

$ nvm install node

Sample output:

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

As of writing/updating this guide, the latest version was 16.1.0.

1.1. Install specific Node version

You can also install any specific version of your choice, for example v9.3.0, like below.

$ nvm install v9.3.0

Sample output:

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

Similarly, you can install any number of versions you want.

1.2. List installed Node version

To view the list of installed Nodejs versions, run:

$ nvm list

Sample output:

-> v16.1.0
default -> node (-> v16.1.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.1.0) (default)
stable -> 16.1 (-> v16.1.0) (default)
lts/* -> lts/fermium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.1 (-> N/A)
lts/fermium -> v14.16.1 (-> N/A)

The arrow mark in the above output shows the default node version. As you see in the above output, I have installed 15.0.1.

1.3. Check installed Node version

To view the currently installed and default Nodejs version, run:

$ node --version

Or,

$ node -v

Sample output:

v16.1.0

Check npm version:

$ npm -v

Sample output:

7.11.2

1.4. Switch between different node versions

If you have installed more than one version, you can switch between different Nodejs versions as below.

$ nvm use node

Or you can just run it to be more specific:

$ nvm run node v9.3.0

1.5. Set default Node version

To set a particular Nodejs version as the default, run:

$ nvm alias default v9.3.0

Sample output would be:

default -> v9.3.0

1.6. Update npm

Once in a while, you can check and update npm to latest available version using the following command:

$ npm install -g npm@latest

1.7. Remove Node

Before removing Node, first make sure whether or not the version you are about to remove is the current active version using command:

$ nvm current

If it is not currently-active version, simply remove it using command:

$ nvm uninstall <node_version>

Example:

$ nvm uninstall v9.3.0

If you try to remove the currently active version using command:

$ nvm uninstall node

You will see an error something like below:

nvm: Cannot uninstall currently-active node version, v15.0.1 (inferred from node).

You must deactivate the nvm first using command:

$ nvm deactivate

And then try to uninstall node:

$ nvm uninstall node

Sample output:

Uninstalled node v15.0.1

2. Install Nodejs on Linux using your distribution’s package manager (Stable, but outdated versions)

Nodejs is available in the default repositories of most Linux distributions. It might not be latest version, but stable. If you want to have a stable Node.js on your Linux, you better install it using your distribution’s package manager as shown below.

On Arch Linux and its derivatives like Antergos, Manajaro Linux, run the following command to install it:

$ sudo pacman -S nodejs npm

On Debian, Ubuntu, Linux Mint:

$ sudo apt-get install nodejs npm

On RHEL, CentOS, you need to enable EPEL repository first.

$ sudo yum install epel-release

And, then install Nodejs using command:

$ sudo yum install nodejs npm

On Fedora:

$ sudo dnf install nodejs npm

Note: Since the packages from the default repositories are outdated, you will get the following error when you try to install any NodeJS modules using npm.

/usr/bin/env: ‘node’: No such file or directory

To solve this error, you need to create symlink as shown below.

$ sudo ln -s /usr/bin/nodejs /usr/bin/node

3. Install Nodejs on Linux from NodeSource

Like I already said, nodejs is available in the default repositories, but it might be bit outdated. To install the most recent version, install the latest version from NodeSource.

Add the latest Nodejs repository as shown here depending on the Linux distribution you use.

On Ubuntu and derivatives:

Add NodeJs 15.x repository:

$ curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash

Nodejs 14.x repository:

$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

Nodejs 12.x:

$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

Nodejs 10.x:

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

For Nodejs 8.x:

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

After adding the repository, install Node.js using command:

$ sudo apt-get install nodejs npm

On RHEL, CentOS:

Nodejs 15.x:

$ curl -sL https://rpm.nodesource.com/setup_15.x | sudo bash -

Nodejs 14.x:

$ curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

NodeJS 12.x

$ curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -

NodeJS 10.x

$ curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -

Then install Nodejs using command:

$ sudo yum install nodejs npm

For Fedora, follow the same instructions above.

Install build tools (Optional)

To compile and install native addons from npm repository, you may also need to install build tools.

To install build tools on Debian, Ubuntu distributions, run the following command:

$ sudo apt-get install -y build-essential

On RHEL based systems:

$ sudo yum groupinstall 'Development Tools'

On Fedora:

$ sudo dnf groupinstall 'Development Tools'

Suggested read:

How to Install Netbeans IDE on Ubuntu and other Linux

How to Install Mesa Drivers on Ubuntu 20.04 LTS

How to Build Linux Kernel From Scratch


And, that’s all. You know now how to install Nodejs on your Linux distribution. As you can see, installing Nodejs is fairly easy. Anyone can install and setup the Nodejs within a few minutes.

Resources:

1 Trackback / Pingback

  1. How to Install Laravel on Ubuntu 20.04 - LinuxStoney

Leave a Reply

Your email address will not be published.


*