NodeSource Node.js Binary Distributions
This repository contains documentation for using the NodeSource Node.js Binary Distributions via .rpm, .deb and Snap packages as well as their setup and support scripts.
If you are looking for NodeSource's low-impact Node.js performance monitoring platform, please get started here.
Please file an issue if you are experiencing a problem or would like to discuss something related to the distributions.
Pull requests are encouraged if you have changes you believe would improve the setup process or increase compatibility across Linux distributions.
- Debian and Ubuntu based distributions (deb)
- Enterprise Linux based distributions (rpm)
- Snap packages
- Tests
- FAQ
- Requested Distributions
- License
Available architectures:
NodeSource will continue to maintain the following architectures and may add additional ones in the future.
- amd64 (64-bit)
- armhf (ARM 32-bit hard-float, ARMv7 and up: arm-linux-gnueabihf)
- arm64 (ARM 64-bit, ARMv8 and up: aarch64-linux-gnu)
Supported Ubuntu versions:
NodeSource will maintain Ubuntu distributions in active support by Canonical, including LTS and the intermediate releases.
- Ubuntu 16.04 LTS (Xenial Xerus)
- Ubuntu 18.04 LTS (Bionic Beaver)
- Ubuntu 18.10 (Cosmic Cuttlefish)
- Ubuntu 19.04 (Disco Dingo)
- Ubuntu 19.10 (Eoan Ermine)
- Ubuntu 20.04 LTS (Focal Fossa)
- Ubuntu 20.10 (Groovy Gorilla)
Supported Debian versions:
NodeSource will maintain support for stable, testing and unstable releases of Debian, due to the long release cycle a considerable number of users are running unstable and testing.
- Debian 9 / oldstable (Stretch)
- Debian 10 / stable (Buster)
- Debian unstable (Sid)
- Debian testing (Bullseye)
Supported Linux Mint versions:
- Linux Mint 18 "Sarah" (via Ubuntu 16.04 LTS)
- Linux Mint 18.1 "Serena" (via Ubuntu 16.04 LTS)
- Linux Mint 18.2 "Sonya" (via Ubuntu 16.04 LTS)
- Linux Mint 18.3 "Sylvia" (via Ubuntu 16.04 LTS)
- Linux Mint Debian Edition (LMDE) 2 "Betsy" (via Debian 8)
- Linux Mint 19 "Tara" (via Ubuntu 18.04 LTS)
- Linux Mint 19.1 "Tessa" (via Ubuntu 18.04 LTS)
- Linux Mint 19.2 "Tina" (via Ubuntu 18.04 LTS)
- Linux Mint 19.3 "Tricia" (via Ubuntu 18.04 LTS)
- Linux Mint 20 "Ulyana" (via Ubuntu 20.04 LTS)
- Linux Mint 20.1 "Ulyssa" (via Ubuntu 20.04 LTS)
- Linux Mint Debian Edition (LMDE) 3 "Cindy" (via Debian 9)
- Linux Mint Debian Edition (LMDE) 4 "Debbie" (via Debian 10)
Supported Devuan versions:
- Ascii / stable (via Debian 9)
- Beowulf / testing (via Debian 10)
- Ceres / unstable (via Debian unstable)
Supported elementary OS versions:
- elementary OS 0.4 Loki (via Ubuntu 16.04 LTS)
- elementary OS 5 Juno (via Ubuntu 18.04 LTS)
- elementary OS 5.1 Hera (via Ubuntu 18.04 LTS)
- elementary OS 6 Odin (via Ubuntu 20.04 LTS)
Supported Trisquel versions:
- Trisquel 8 "Flidas" (via Ubuntu 16.04 LTS)
- Trisquel 9 "Etiona" (via Ubuntu 18.04 LTS)
Supported BOSS versions:
- BOSS 7.0 "Drishti" (via Debian 9)
- BOSS 8.0 "Unnati" (via Debian 10)
Supported BunsenLabs versions:
- Helium (via Debian 9)
- Lithium (via Debian 10)
Supported MX Linux versions:
- MX-17 Horizon (via Debian 9)
- MX-18 Continuum (via Debian 9)
- MX-19 Patito Feo (via Debian 10)
Supported Sparky Linux versions:
- Sparky 4.x "Tyche" (via Debian 9)
- Sparky 5.x "Nibiru" (via Debian 10)
Supported PureOS Linux versions:
- PureOS 9.0 "Amber" (via Debian 10)
Supported Astra Linux CE versions:
- Astra Linux CE 2.12 "Orel" (via Debian 9)
Supported Ubilinux versions:
- Ubilinux 4.0 "Dolcetto" (via Debian 9)
Node.js v15.x:
# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_15.x | sudo -E bash -
sudo apt-get install -y nodejs
# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_15.x | bash -
apt-get install -y nodejs
Node.js v14.x:
# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs
Node.js v12.x:
# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs
Node.js v10.x:
# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs
Node.js LTS (v14.x):
# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt-get install -y nodejs
Node.js Current (v15.x):
# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs
# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_current.x | bash -
apt-get install -y nodejs
Optional: install build tools
To compile and install native addons from npm you may also need to install build tools:
# use `sudo` on Ubuntu or run this as root on debian
apt-get install -y build-essential
If you're not a fan of curl <url> | bash -
, or are using an unsupported distribution, you can try a manual installation.
These instructions assume sudo
is present, however some distributions do not include this command by default, particularly those focused on a minimal environment. In this case, you should install sudo
or su
to root to run the commands directly.
1. Remove the old PPA if it exists
This step is only required if you previously used Chris Lea's Node.js PPA.
# add-apt-repository may not be present on some Ubuntu releases:
# sudo apt-get install python-software-properties
sudo add-apt-repository -y -r ppa:chris-lea/node.js
sudo rm -f /etc/apt/sources.list.d/chris-lea-node_js-*.list
sudo rm -f /etc/apt/sources.list.d/chris-lea-node_js-*.list.save
2. Add the NodeSource package signing key
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
# wget can also be used:
# wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
The key ID is 1655A0AB68576280
.
3. Add the desired NodeSource repository
# Replace with the branch of Node.js or io.js you want to install: node_6.x, node_8.x, etc...
VERSION=node_8.x
# The below command will set this correctly, but if lsb_release isn't available, you can set it manually:
# - For Debian distributions: jessie, sid, etc...
# - For Ubuntu distributions: xenial, bionic, etc...
# - For Debian or Ubuntu derived distributions your best option is to use the codename corresponding to the upstream release your distribution is based off. This is an advanced scenario and unsupported if your distribution is not listed as supported per earlier in this README.
DISTRO="$(lsb_release -s -c)"
echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
4. Update package lists and install Node.js
sudo apt-get update
sudo apt-get install nodejs
Available architectures:
NodeSource will continue to maintain the following architectures and may add additional ones in the future.
- i386 (32-bit) — not available for all distros and not available for Node.js 10.x and later
- x86_64 (64-bit)
- arm64 (ARM 64-bit, ARMv8 and up: aarch64-linux-gnu)
Supported Red Hat® Enterprise Linux® versions:
- RHEL 7 (64-bit)
- RHEL 8 (64-bit)
Supported CentOS versions:
- CentOS 7 (64-bit)
- CentOS 8 (64-bit)
- CentOS 8 Stream (64-bit)
Supported AlmaLinux OS versions:
- AlmaLinux 8 (64-bit)
Supported CloudLinux versions:
- CloudLinux 6 (32-bit for Node <= 10.x and 64-bit)
Supported Fedora versions:
- Fedora 32 (64-bit)
- Fedora 33 (64-bit)
Supported Amazon Linux versions:
- Amazon Linux (64-bit)
- Amazon Linux 2 (64-bit)
NOTE: If you are using RHEL 6 or CentOS 6, you might want to read about running Node.js on older distros.
The Nodesource RPM package signing key is available here: https://rpm.nodesource.com/pub/el/NODESOURCE-GPG-SIGNING-KEY-EL
Run on RHEL, CentOS, CloudLinux, Amazon Linux or Fedora:
Node.js v15.x
# As root
curl -fsSL https://rpm.nodesource.com/setup_15.x | bash -
# No root privileges
curl -fsSL https://rpm.nodesource.com/setup_15.x | sudo bash -
Node.js v14.x
# As root
curl -fsSL https://rpm.nodesource.com/setup_14.x | bash -
# No root privileges
curl -fsSL https://rpm.nodesource.com/setup_14.x | sudo bash -
Node.js v12.x
# As root
curl -fsSL https://rpm.nodesource.com/setup_12.x | bash -
# No root privileges
curl -fsSL https://rpm.nodesource.com/setup_12.x | sudo bash -
Node.js v10.x
# As root
curl -fsSL https://rpm.nodesource.com/setup_10.x | bash -
# No root privileges
curl -fsSL https://rpm.nodesource.com/setup_10.x | sudo bash -