Node.js is a software platform that transforms JavaScript from a highly specialized language into a general-purpose language. Node.js adds the ability for JavaScript to interact with input/output devices via its API (written in C++), to connect other external libraries written in different languages, providing calls to them from JavaScript code. Node.js is used primarily on the server, acting as a web server, but there is an opportunity to develop in Node.js and desktop window applications (using NW.js, AppJS or Electron for Linux, Windows and Mac OS)
Installation from standard repositories
Before installing Node.js, update the existing Ubuntu package list:
``.shell
sudo apt update
```
Let's install Node.js from the repositories:
sudo apt install nodejs
Next let's install npm - package manager for Node.js
sudo apt install npm
This will allow you to install modules and packages for Node.js.
Due to a conflict with another package, the executable from Ubuntu repositories is called nodejs instead of node
To check the version of Node.js you have installed, run the command:
nodejs -v
root@kvmde67-19464:~# nodejs -v
v8.10.0
Installing with PPA
Using the personal package archive (PPA) supported by NodeSource, you can choose to install between Node.js v8.x (supported until December 2019), Node.js v10.x (supported until April 2021) and Node.js v12.x.
First, you need to install the PPA itself to access its contents
Make sure you are in your home directory
cd ~
Then use curl to get the installation script for the version you need, replacing 10.x with the version you need:
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
You can view the contents of the script with the nano editor:
nano nodesource_setup.sh
#!/bin/bash
# Discussion, issues and change requests at:
# https://github.com/nodesource/distributions
#
# Script to install the NodeSource Node.js 10.x repo onto a
# Debian or Ubuntu system.
#
# Run as root or insert `sudo -E` before `bash`:
#
# curl -sL https://deb.nodesource.com/setup_10.x | bash -
# or
# wget -qO- https://deb.nodesource.com/setup_10.x | bash -
#
# CONTRIBUTIONS TO THIS SCRIPT
#
# This script is built from a template in
# https://github.com/nodesource/distributions/tree/master/deb/src
# please don't submit pull requests against the built scripts.
#
export DEBIAN_FRONTEND=noninteractive
SCRSUFFIX="_10.x"
NODENAME="Node.js 10.x"
NODEREPO="node_10.x"
NODEPKG="nodejs"
print_status() {
echo
echo "## $1"
echo
}
if test -t 1; then # if terminal
ncolors=$(which tput > /dev/null && tput colors) # supports colors
if test -n "$ncolors" && test $ncolors -ge 8; then
termcols=$(tput cols)
bold="$(tput bold)"
underline="$(tput smul)"
standout="$(tput smso)"
normal="$(tput sgr0)"
black="$(tput setaf 0)"
red="$(tput setaf 1)"
green="$(tput setaf 2)"
yellow="$(tput setaf 3)"
blue="$(tput setaf 4)"
magenta="$(tput setaf 5)"
cyan="$(tput setaf 6)"
white="$(tput setaf 7)"
fi
Run the script with sudo privileges:
sudo bash nodesource_setup.sh
The PPA will be included in the configuration
After running the installation script from Nodesource, you can install Node.js in the same way as described earlier:
sudo apt install nodejs
To check which version of Node.js is which, run the command:
nodejs -v
root@kvmde67-19464:~# nodejs -v
v10.20.1
The nodejs package contains both nodejs and npm, so there is no need to install npm additionally .
npm uses a configuration file in your home directory to track updates. This file will be created the first time you run npm
To make sure npm is installed, run the following command:
npm -v
root@kvmde67-19464:~# npm -v
6.14.4
Some packages from npm (such as those that require compilation from source) will require the build-essentials package to work:
sudo apt install build-essential
Installation with NVM
An alternative to installing Node.js via apt is to use the nvm(Node.js version manager) tool
With this tool you can install several independent versions of Node.js that won't interfere with each other.
Controlling your development environment through nvm allows you to access the latest versions of Node.js while retaining previous versions
You can use curl to download the installation script nvm from the project page on GitHub
Note that the version number may be different than this example:
curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh -o install_nvm.sh
You can view the install script using nano:
nano install_nvm.sh
#!/usr/bin/env bash
{ # this ensures the entire script is downloaded #
nvm_has() {
type "$1" > /dev/null 2>&1
}
nvm_default_install_dir() {
[ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nv$
}
nvm_install_dir() {
if [ -n "$NVM_DIR" ]; then
printf %s "${NVM_DIR}"
else
nvm_default_install_dir
fi
}
nvm_latest_version() {
echo "v0.35.3"
}
nvm_profile_is_bash_or_zsh() {
local TEST_PROFILE
TEST_PROFILE="${1-}"
case "${TEST_PROFILE-}" in
*"/.bashrc" | *"/.bash_profile" | *"/.zshrc")
return
;;
*)
return 1
;;
esac
}
#
# Outputs the location to NVM depending on:
# # The availability of $NVM_SOURCE
# # The method used ("script" or "git" in the script, defaults to "git")
# NVM_SOURCE always takes precedence unless the method is "script-nvm-exec"
#
nvm_source() {
local NVM_METHOD
NVM_METHOD="$1"
local NVM_SOURCE_URL
NVM_SOURCE_URL="$NVM_SOURCE"
if [ "_$NVM_METHOD" = "_script-nvm-exec" ]; then
NVM_SOURCE_URL="https://raw.githubusercontent.com/nvm-sh/nvm/$(nvm_latest_version)/nvm-exe$
elif [ "_$NVM_METHOD" = "_script-nvm-bash-completion" ]; then
Run the script in bash:
bash install_nvm.sh
This command will install the software in the ~/.nvm subdirectory of your home directory. It will also add some necessary settings to the ~/.profile file.
To get access to the nvm functionality, you can use the source command to apply the changes without interrupting your current session:
source ~/.profile
Once nvm is installed you can install isolated versions of Node.js. To find out which versions of Node.js are available to install, type:
nvm ls-remote
Output
v8.17.0 (Latest LTS: Carbon)
v9.0.0
v9.1.0
v9.2.0
v9.2.1
v9.3.0
v9.4.0
v9.5.0
v9.6.0
v9.6.1
v9.7.0
v9.7.1
v9.8.0
v9.9.0
v9.10.0
v9.10.1
v9.11.0
v9.11.1
v9.11.2
v10.0.0
v10.1.0
v10.2.0
v10.2.1
v10.3.0
v10.4.0
v10.4.1
v10.5.0
v10.6.0
v10.7.0
v10.8.0
v10.9.0
v10.10.0
v10.11.0
v10.12.0
v10.13.0 (LTS: Dubnium)
v10.14.0 (LTS: Dubnium)
v10.14.1 (LTS: Dubnium)
v10.14.2 (LTS: Dubnium)
v10.15.0 (LTS: Dubnium)
v10.15.1 (LTS: Dubnium)
v10.15.2 (LTS: Dubnium)
v10.15.3 (LTS: Dubnium)
v10.16.0 (LTS: Dubnium)
v10.16.1 (LTS: Dubnium)
v10.16.2 (LTS: Dubnium)
v10.16.3 (LTS: Dubnium)
v10.17.0 (LTS: Dubnium)
v10.18.0 (LTS: Dubnium)
v10.18.1 (LTS: Dubnium)
v10.19.0 (LTS: Dubnium)
v10.20.0 (LTS: Dubnium)
v10.20.1 (Latest LTS: Dubnium)
v11.0.0
v11.1.0
v11.2.0
v11.3.0
v11.4.0
v11.5.0
v11.6.0
v11.7.0
v11.8.0
v11.9.0
v11.10.0
v11.10.1
v11.11.0
v11.12.0
v11.13.0
v11.14.0
v11.15.0
v12.0.0
v12.1.0
v12.2.0
v12.3.0
v12.3.1
v12.4.0
v12.5.0
v12.6.0
v12.7.0
v12.8.0
v12.8.1
v12.9.0
v12.9.1
v12.10.0
v12.11.0
v12.11.1
v12.12.0
v12.13.0 (LTS: Erbium)
v12.13.1 (LTS: Erbium)
v12.14.0 (LTS: Erbium)
v12.14.1 (LTS: Erbium)
v12.15.0 (LTS: Erbium)
v12.16.0 (LTS: Erbium)
v12.16.1 (LTS: Erbium)
v12.16.2 (LTS: Erbium)
v12.16.3 (Latest LTS: Erbium)
v13.0.0
v13.0.1
v13.1.0
v13.2.0
v13.3.0
v13.4.0
v13.5.0
v13.6.0
v13.7.0
v13.8.0
v13.9.0
v13.10.0
v13.10.1
v13.11.0
v13.12.0
v13.13.0
v13.14.0
v14.0.0
v14.1.0
v14.2.0
Install e.g. version 10.20.1
nvm install 10.20.1
Normally, nvm will switch to use the latest installed version. You can tell nvm to use the version you just downloaded explicitly as follows:
nvm use 10.20.1
If you install Node.js via nvm, the executable will be named node. To see what version the shell is currently using, you can use the command:
node -v
root@kvmde67-19464:~# node -v
v10.20.1
If you have more than one version of Node.js installed, you can see their list by using the command:
nvm ls
root@kvmde67-19464:~# nvm ls
-> v10.20.1
system
default -> 10.20.1 (-> v10.20.1)
node -> stable (-> v10.20.1) (default)
stable -> 10.20 (-> v10.20.1) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> 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.20.1
lts/erbium -> v12.16.3 (-> N/A)
If you want to set one of the versions as the default version, type:
nvm alias default 10.20.1
This version will be automatically chosen when you start a new session. You can also refer to it by alias as follows:
nvm use default
Each version of Node.js has its own packages, which you can manage with npm.
npm can install packages in the ./node_modules directory of Node.js projects.
You can also use our One-Click-Apps for one-click installation of Node.js
To do this, select the required VPS plan and select Apps → Node.JS version 10 or 12, to install.
If you have difficulty setting up or have additional questions, you can always contact our support team via ticket system.