Introduction
Node.js is an open-source cross-platform JavaScript (JS) runtime environment. If you need to build fast and scalable network applications, you may want to think about using Node.js. Apart from offering various JS modules, it is also lightweight, efficient, and supports consistent and integrated development.
Node Package Manager (npm) is Node’s official package manager, used for installing and managing package dependencies.
In this guide, learn how to install Node.js and npm on CentOS 7. We also cover managing multiple Node versions and installing dependencies.
Prerequisites
- An RHEL-based system, such as CentOS 7
- Access to a terminal/command line
- The yum package manager, included by default
- Access to the root user or a user with sudo privileges
Option 1: Install Node.js and npm from NodeSource repository
The simplest way to install Node.js and npm is from the NodeSource repository.
1. First, update the local repository to ensure you install the latest versions of Node.js and npm. Type in the following command:
sudo yum update
2. Next, add the NodeSource repository to the system with:
curl –sL https://rpm.nodesource.com/setup_10.x | sudo bash -
3. The output will prompt you to use the following command if you want to install Node.js and npm:
sudo yum install –y nodejs
4. Finally, verify the installed software with the commands:
node –version
npm –version
As you can see in the images above, the system downloaded the latest stable versions – Node.js 10.16.0, and npm 6.9.0.
Option 2: Install Node.js and npm using NVM
Step 1: Install Node Version Manager (NVM)
Alternatively, you can install Node.js and npm with the Node Version Manager (NVM), a tool practical for managing multiple Node.js versions.
1. To install NVM, download the installation script from GitHub. You will use the command line curl
.
If you do not have this prerequisite tool, install it by running:
sudo apt install curl
Press y
to confirm the installation and hit Enter.
2. After installing curl, download the NVM installation script with the command:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
The command instructs the system to clone the NVM repository and add the NVM path to ZSH or bash. Once this is done, you will receive the following message:
As the output suggests, to enable nvm you need to:
- Close and open the terminal OR
- Run the given command
3. Then, check whether the Node Version Manager installation was successful with the command:
nvm –version
The image below shows you have installed NVM 0.34.0, the latest stable version.
Note: Check out the differences between NVM and NPM.
Step 2: Install Node.js and npm
1. Once you have installed NVM, download Node.js and npm with the command:
nvm install node
2. As always, make sure to check the version installed:
node –version
Optional: Install multiple Node.js versions using NVM
NVM is a package manager. Therefore, it can install and manage multiple Node.js versions.
To install a specific version of Node, type in nvm install
and the number of the version.
For example:
nvm install 10.1.0
or to install the latest stable version::
nvm install --lts
To view a list of the versions you have installed on your manager with:
nvm ls
This will list all installed Node.js versions, as well as specify the default and stable versions.
To switch to another version of Node.js you have already installed, use the command:
nvm use 10.16.0
Install Node.js Development Tools
Development tools is an automation tool kit that allows compiling and installing native add-ons from the npm.
To install Node.js development tools and libraries, use the command:
sudo yum install gcc g++ make
Note: For other operating systems, refer to our Knowledge Base guides
How to Install Node.js on Debian, How to Install Node.js and NPM on Mac, How to Install Node.js and NPM on Windows, or How To Install Node.js & NPM on Ubuntu.
Conclusion
After following this guide, you have installed Node.js and npm on your CentOS system using the NodeSource repository or NVM. We also discussed managing multiple Node versions, development tools, and installing dependencies.