/distributions

NodeSource Node.js Binary Distributions

Primary LanguageShellMIT LicenseMIT

NodeSource Node.js Binary Distributions

NodeSource

CircleCI

Github Actions Test

This repository contains the instructions to install the NodeSource Node.js Binary Distributions via .rpm and .deb as well as their setup and support scripts.

If you're looking for NodeSource's low-impact Node.js performance monitoring platform, please get started here.

New Update ⚠️

We'd like to inform you of important changes to our distribution repository nodesource/distributions.

What's New:

  • Package Changes: DEB and RPM packages are now available under the nodistro codename. We no longer package the installer coupled to specific versions. This means you can install Node.js on almost any distro that meets the minimum requirements.
  • Installation Scripts: The installation scripts setup_XX.x are no longer supported and are not needed anymore, as the installation process is straightforward for any RPM and DEB distro.
  • Questions and concerns: To resolve questions and discuss concerns about this update we've opened this discussion space New distribution's packages

Looking for the previous Documentation README.md

Table of Contents

Debian and Ubuntu based distributions

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 Versions

Ubuntu versions

Distro Name Node 16x Node 18x Node 20x Node 21x
Ubuntu Bionic ^18.04
Ubuntu Focal ^20.04
Ubuntu Jammy ^22.04

Debian versions

Distro Name Node 16x Node 18x Node 20x Node 21x
Debian 8 Jessie
Debian 9 Stretch
Debian 10 Buster
Debian 11 Bullseye
Debian 12 Bookworm

NOTE: If you are looking to run Node.js in a non-supported Linux version take a look to Node.js Unofficial Builds

Installation Instructions

Node.js

If you have root access, you can omit the 'sudo' command as you already have full administrative privileges.

  1. Download and import the Nodesource GPG key
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
  1. Create deb repository
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

Optional: NODE_MAJOR can be changed depending on the version you need.

NODE_MAJOR=16
NODE_MAJOR=18
NODE_MAJOR=20
NODE_MAJOR=21
  1. Run Update and Install
sudo apt-get update
sudo apt-get install nodejs -y

Uninstall nodejs Ubuntu & Debian packages

To completely remove Node.js installed from the deb.nodesource.com package methods above:

use sudo on Ubuntu or run this as root on debian
apt-get purge nodejs &&\
rm -r /etc/apt/sources.list.d/nodesource.list &&\
rm -r /etc/apt/keyrings/nodesource.gpg

Enterprise Linux Based Distributions

Available architectures

NodeSource will continue to maintain the following architectures and may add additional ones in the future.

  • x86_64 (64-bit)
  • arm64 (ARM 64-bit, ARMv8 and up: aarch64-linux-gnu)

Supported Versions

Fedora versions

Distro Name Node 16x Node 18x Node 20x
Fedora >= 20 (20->28)
Fedora >= 29
Fedora >= 36

Redhat versions

Distro Name Node 16x Node 18x Node 20x
Redhat 7
Redhat 8
Redhat 9

Amazon Linux versions

Distro Name Node 16x Node 18x Node 20x
Amazon Linux 2
Amazon Linux 2023

NOTE: If you are looking to run Node.js in a non-supported Linux version take a look to Node.js Unofficial Builds

Installation Instructions

The Nodesource RPM package signing key is available here: https://rpm.nodesource.com/gpgkey/nodesource.gpg.key

If you have root access, you can omit the 'sudo' command as you already have full administrative privileges.

Node.js v21.x

sudo yum install https://rpm.nodesource.com/pub_21.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
sudo yum install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1

Node.js v20.x

sudo yum install https://rpm.nodesource.com/pub_20.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
sudo yum install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1

Node.js v18.x

sudo yum install https://rpm.nodesource.com/pub_18.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
sudo yum install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1

Node.js v16.x

sudo yum install https://rpm.nodesource.com/pub_16.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
sudo yum install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1

Optional: install build tools

To compile and install native addons from npm you may also need to install build tools:

yum install gcc-c++ make
# or: yum groupinstall 'Development Tools'

Uninstall nodejs Enterprise Linux packages

To completely remove Node.js installed from the rpm.nodesource.com package methods above:

use sudo or run this as root

yum remove nodejs &&\
rm -r /etc/yum.repos.d/nodesource*.repo &&\
yum clean all

Installation Scripts

We've created some scripts to make easy the repo configuration.

This only works from Node16 forwards

DEB

change the version as needed ./nsolid_setup_deb.sh 20

curl -SLO https://deb.nodesource.com/nsolid_setup_deb.sh
chmod 500 nsolid_setup_deb.sh
./nsolid_setup_deb.sh 21
apt-get install nodejs -y

RPM

change the version as needed ./nsolid_setup_deb.sh 20

curl -SLO https://rpm.nodesource.com/nsolid_setup_rpm.sh
chmod 500 nsolid_setup_rpm.sh
./nsolid_setup_rpm.sh 21
yum install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1

Nodejs Release Calendar

Node Releases Calendar source: https://nodejs.dev

FAQ

Q: How do I migrate to the new repo?

A: Please take a look at wiki


Q: How do I pin to specific versions of Node.js?

A: Please take a look at wiki



Q: Why is there no folder listing available when I visit the following URLs? https://deb.nodesource.com/node_XX.x/pool/main/n/

https://rpm.nodesource.com/pub_20.x/

A: This issue may arise because some users utilize the above URLs to download specific versions of Node.js or create mirrors of our repository.

For more information and possible solutions, please refer to the following resources:


Authors and Contributors

Chris LeaGitHub/chrisleaTwitter/@chrislea
Rod VaggGitHub/rvaggTwitter/@rvagg
William BlankenshipGitHub/retrohackerTwitter/@retrohack3r
Harry TruongGitHub/harrytruong
Matteo BrunatiGitHub/mattbrun
Brian WhiteGitHub/mscdex
Matt LewandowskyGitHub/lewellyn
Jan-Hendrik PetersGitHub/hennr
Andris ReinmanGitHub/andris9
CarvilsiGitHub/carvilsi
Krasimir TrenchevGitHub/Ava7
Phil HelmGitHub/phelma
0xmohitGitHub/0xmohit
jdarlingGitHub/jdarling
Prayag VermaGitHub/pra85
Misha BrukmanGitHub/mbrukman
Simon LydellGitHub/lydell
Sebastian BleiGitHub/iamsebastian
Jorge Maldonado VenturaNotABug/jorgesumle
Mayank MethaGitHub/mayankmethaTwitter/@mayankmethad
Adrian EstradaGitHub/edsadrTwitter/@edsadr
Iván IguaránGitHub/igsu
Jesus PazGitHub/JesusPaz
Jefferson RiosGitHub/riosje

Contributions are welcomed from anyone wanting to improve this project!

License

This material is Copyright (c) NodeSource and licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.


Supported with love by the NodeSource team

This project is not affiliated with Debian, Ubuntu, Red Hat, CentOS or Fedora.

Ubuntu is a registered trademark of Canonical Ltd.

Debian is a registered trademark owned by Software in the Public Interest, Inc.

Red Hat, CentOS and Fedora are trademarks of Red Hat, Inc.

Amazon Linux are trademarks of Amazon Web Services, Inc

CloudLinux is a trademark of Cloud Linux, Inc