How to Install Node.js and npm on CentOS 7

By 

Updated on

5 min read

Install Node.js and npm on CentOS 7

Node.js is a cross-platform JavaScript run-time environment that allows server-side execution of JavaScript code. Node.js is mainly used on the back-end, but it is also popular as a full-stack and front-end solution.

npm, short for Node Package Manager is the default package manager for Node.js and the world’s largest software repository for the publishing of open-source Node.js packages.

This tutorial walks you through the steps to install Node.js and npm on a CentOS 7 machine. We will show you two different ways of installing Node.js and npm.

In the first part of this tutorial we will install Node.js and npm using the yum package manager from the NodeSource repository. In the second part, we will teach you how to install Node.js and npm using the nvm script.

If you need Node.js only for deploying Node.js applications then the simplest option is to install the Node.js packages using yum from the NodeSource repository.

Prerequisites

Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges .

Installing Node.js and npm on CentOS 7

NodeSource is a company dedicated to providing enterprise-grade Node support and they maintain a consistently-updated Node.js repository for Linux distributions.

To install Node.js and npm from the NodeSource repositories on your CentOS 7 system, follow these steps:

1. Add NodeSource yum repository

The current LTS version of Node.js is version 10.x. If you want to install version 8 just change setup_10.x with setup_8.x in the command below.

Run the following curl command to add the NodeSource yum repository to your system:

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

2. Install Node.js and npm

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

Terminal
sudo yum install nodejs

When prompted to import the repository GPG key, type y, and press Enter.

3. Verify the Node.js and npm Installation

To check that the installation was successful, run the following commands which will print the Node.js and npm versions.

Print Node.js version:

Terminal
node --version
output
v10.13.0

Print npm version:

Terminal
npm --version
output
6.4.1

How to install Node.js and npm using NVM

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

To install Node.js and npm using NVM on your CentOS system, follow these steps:

1. Install NVM (Node Version Manager)

To download the nvm install script run the following command:

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

The script will clone the nvm repository from Github to ~/.nvm and add the script Path to your Bash or ZSH profile.

output
=> 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 shows, you should either close and reopen your terminal or run the commands to add the path to nvm script to your current session.

To verify that nvm was properly installed type:

Terminal
nvm --version
output
0.33.11

2. Install Node.js using NVM

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

Terminal
nvm install node
output
Downloading and installing node v11.0.0...
Downloading https://nodejs.org/dist/v11.0.0/node-v11.0.0-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v11.0.0 (npm v6.4.1)
Creating default alias: default -> node (-> v11.0.0)

Verify the Node.js version, by typing:

Terminal
node --version
output
v10.1.0

3. Install multiple Node.js versions using NVM

Let’s install two more versions, the latest LTS version and version 8.12.0

Terminal
nvm install --lts
nvm install 8.12.0

Once LTS version and 8.12.0 are installed to list all installed Node.js instances type:

Terminal
nvm ls
output
->      v8.12.0                         # ACTIVE VERSION
       v10.13.0
        v11.0.0
default -> node (-> v11.0.0)           # DEFAULT VERSION
node -> stable (-> v11.0.0) (default)
stable -> 11.0 (-> v11.0.0) (default)
iojs -> N/A (default)
lts/* -> lts/dubnium (-> v10.13.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.4 (-> N/A)
lts/carbon -> v8.12.0
lts/dubnium -> v10.13.0

The output tell us that the entry with an arrow on the left (-> v8.12.0), is the version used in the current shell session and the default version is set to v11.0.0. Default version is the version that will be active when opening new shells.

To change the currently active version you can use the following command:

Terminal
nvm use 10.13.0

The output will look like something this:

output
Now using node v10.13.0 (npm v6.4.1)

To change the default Node.js version type:

Terminal
nvm alias default 10.13.0
output
default -> 10.13.0 (-> v10.13.0)

Install development tools

To be able to build native modules from npm we will need to install the development tools and libraries:

Terminal
sudo yum install gcc-c++ make

Conclusion

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

You can also check this tutorial about How to install and use yarn on CentOS 7 .

If you have any questions or feedback, feel free to comment below.

Linuxize Weekly Newsletter

A quick weekly roundup of new tutorials, news, and tips.

About the authors

Dejan Panovski

Dejan Panovski

Dejan Panovski is the founder of Linuxize, an RHCSA-certified Linux system administrator and DevOps engineer based in Skopje, Macedonia. Author of 800+ Linux tutorials with 20+ years of experience turning complex Linux tasks into clear, reliable guides.

View author page