Objective
The objective is to install Node.js the cross-platform JavaScript runtime environment on Ubuntu 16.04 Xenial Xerus Linux
Requirements
Privileged access to your Ubuntu System as root or via
sudo
command is required.
Difficulty
EASY
Conventions
- # - requires given linux commands to be executed with root privileges either directly as a root user or by use of
sudo
command - $ - requires given linux commands to be executed as a regular non-privileged user
Instructions
There are multiple ways on how to install Node.js on your Ubuntu 16.04 Xenial Xerus Linux server. The below steps will show you how to install Node.js using a standard Ubuntu repository, PPA repository, Node.js native setup script and by use of Node Version Manager. The easiest installation is by using standard Ubuntu repository, however it yields lower Node.js version. If you need a bleeding-edge Node.js version you better opt for an automatic installation using the Node.js native setup script.
node.js installation from Ubuntu Repository
Installation of Node.js using Ubuntu's standard repository cannot be simpler:
$ sudo apt-get install nodejs
You may also want to install Node.js package manager
npm
:
$ sudo apt-get install npm
Check for installed versions:
$ nodejs --version
v4.2.6
$ npm --version
3.5.2
Using PPA repository
If applicable, first make
add-apt-repository
command available on your system:
$ sudo apt-get install python-software-properties
Next, add PPA repository:
$ sudo add-apt-repository -y -r ppa:chris-lea/node.js
$ sudo curl --silent https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
Set a version number of Node.js you wish to install:
VERSION=node_7.x
DISTRO="$(lsb_release -s -c)"
Configure, Node.js repositories with the above settigns:
$ sudo echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
$ sudo echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
At this point simple execute the below
apt-get
commands to install Node.js:
$ sudo apt-get update
$ sudo apt-get install nodejs
Check correctness of the installation:
$ nodejs --version
v7.2.1
$ npm --version
3.10.10
Node.js setup script
Using a native Node.js setup script is probably the most easiet way how to install latest Node.js version on your Ubuntu 16.04 Linux server:
$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
$ sudo apt-get install nodejs
All done. Check versions:
$ nodejs --version
v7.2.1
$ npm --version
3.10.10
nvm installation
In case none of the above Node.js install fit your environment, the below manual installation using
nvm
might prove helpful. First, install all prerequisites:
$ sudo apt-get install build-essential libssl-dev
Install
nvm
using its native installation script. Correct the version number within the below URL if necessary:
# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
Source new NVM settings:
$ . ~/.profile
Find an appropriate version number. For example the below command will list all LTS Node.js releases so far:
$ nvm ls-remote | grep -i lts
v4.2.0 (LTS: Argon)
v4.2.1 (LTS: Argon)
v4.2.2 (LTS: Argon)
v4.2.3 (LTS: Argon)
v4.2.4 (LTS: Argon)
v4.2.5 (LTS: Argon)
v4.2.6 (LTS: Argon)
v4.3.0 (LTS: Argon)
v4.3.1 (LTS: Argon)
v4.3.2 (LTS: Argon)
v4.4.0 (LTS: Argon)
v4.4.1 (LTS: Argon)
v4.4.2 (LTS: Argon)
v4.4.3 (LTS: Argon)
v4.4.4 (LTS: Argon)
v4.4.5 (LTS: Argon)
v4.4.6 (LTS: Argon)
v4.4.7 (LTS: Argon)
v4.5.0 (LTS: Argon)
v4.6.0 (LTS: Argon)
v4.6.1 (LTS: Argon)
v4.6.2 (LTS: Argon)
v4.7.0 (Latest LTS: Argon)
v6.9.0 (LTS: Boron)
v6.9.1 (LTS: Boron)
v6.9.2 (Latest LTS: Boron)
Use
nvm
command to install your desired Node.js version. For example the below command will install a latest LTS Node.js release:
$ nvm install 6.9.2
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v6.9.2 (npm v3.10.9)
Creating default alias: default -> 6.9.2 (-> v6.9.2)
Check versions:
$ node --version
v6.9.2
$ npm --version
3.10.9