distributions Documentation

NodeSource Node.js Binary Distributions

13,846 stars Shell Shell 5 files ยท ~15,223 tokens #javascript#linux#node#nodejs#runtime
RAW Doc

Technical Documentation: nodesource/distributions

โ„น๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference

Overview (`DEV_README.md`)

[NodeSource](https://nodesource.com) N|Solid & Node.js Binary Distributions

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

If you're looking for more information on NodeSource's low-impact Node.js performance monitoring platform, Learn more 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: Back by popular demand, the installation scripts have returned and are better than ever. See the installation instructions below for details on how to use them.
  • RPM Package Signing Key: The key used to sign RPM packages has changed. We now sign packages using SHA256, providing better support to the community.
  • 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

DEB 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)

DEB Supported Versions

**Ubuntu versions**

Distro Name Node 18x Node 20x Node 21x Node 22x Node 23x Node 24x
Ubuntu Bionic ^18.04 โŒ โŒ โŒ โŒ โŒ โŒ
Ubuntu Focal ^20.04 โœ… โœ… โœ… โœ… โœ… โœ…
Ubuntu Jammy ^22.04 โœ… โœ… โœ… โœ… โœ… โœ…
Ubuntu Noble ^24.04 โœ… โœ… โœ… โœ… โœ… โœ…

**Debian versions**

Distro Name Node 18x Node 20x Node 21x Node 22x Node 23x Node 24x
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 contact NodeSource to get enterprise support for your specific needs.

Installation Instructions (DEB)

Node.js 23.x:

Using Ubuntu (Node.js 23)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    sudo -E bash nodesource_setup.sh
  3. Install Node.js:

    sh
    sudo apt install -y nodejs
  4. Verify the installation:

    sh
    node -v

Using Debian, as root (Node.js 23)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    bash nodesource_setup.sh
  3. Install Node.js:

    sh
    apt install -y nodejs
  4. Verify the installation:

    sh
    node -v

Node.js v22.x:

Using Ubuntu (Node.js 22)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    sudo -E bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo apt install -y nodejs

    Verify the installation:

    sh
    node -v

Using Debian, as root (Node.js 22)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    apt install -y nodejs

    Verify the installation:

    sh
    node -v

Node.js v20.x:

Using Ubuntu (Node.js 20)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    sudo -E bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo apt install -y nodejs

    Verify the installation:

    sh
    node -v

Using Debian, as root (Node.js 20)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    apt install -y nodejs

    Verify the installation:

    sh
    node -v

Node.js v18.x:

Using Ubuntu (Node.js 18)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    sudo -E bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo apt install -y nodejs

    Verify the installation:

    sh
    node -v

Using Debian, as root (Node.js 18)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    apt install -y nodejs

    Verify the installation:

    sh
    node -v

Node.js LTS (v22.x):

Using Ubuntu (Node.js LTS)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    sudo -E bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo apt install -y nodejs

    Verify the installation:

    sh
    node -v

Using Debian, as root (N|Solid or Node.js LTS)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    apt install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    apt install -y nodejs

    Verify the installation:

    sh
    node -v

Node.js Current (24):

Using Ubuntu (Node.js Current)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_current.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    sudo -E bash nodesource_setup.sh
  3. Install Node.js:

    sh
    sudo apt install -y nodejs
  4. Verify the installation:

    sh
    node -v

Using Debian, as root (Node.js Current)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
apt install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://deb.nodesource.com/setup_current.x -o nodesource_setup.sh
  2. Run the setup script with sudo:

    sh
    bash nodesource_setup.sh
  3. Install Node.js:

    sh
    apt install -y nodejs
  4. Verify the installation:

    sh
    node -v

Uninstall `nsolid` or `nodejs` Ubuntu & Debian packages

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

use `sudo` on Ubuntu or run this as root on debian

N|Solid

sh
apt purge nsolid &&\
rm -r /etc/apt/sources.list.d/nodesource.list &&\
rm -r /etc/apt/keyrings/nodesource.gpg

Node.js

sh
apt purge nodejs &&\
rm -r /etc/apt/sources.list.d/nodesource.list &&\
rm -r /etc/apt/keyrings/nodesource.gpg

Enterprise Linux Based Distributions

RPM 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)

RPM Supported Versions

**Fedora versions**

Distro Name Node 18x Node 20x Node 21x Node 22x Node 23x
Fedora >= 20 (20->28) โŒ โŒ โŒ โŒ โŒ
Fedora >= 29 โœ… โœ… โœ… โœ… โœ…
Fedora >= 36 โœ… โœ… โœ… โœ… โœ…

**Redhat versions**

Distro Name Node 18x Node 20x Node 21x Node 22x Node 23x
Redhat 7 โŒ โŒ โŒ โŒ โŒ
Redhat 8 โœ… โœ… โœ… โœ… โœ…
Redhat 9 โœ… โœ… โœ… โœ… โœ…
Redhat 9-minimal โœ… โœ… โœ… โœ… โœ…

**Amazon Linux versions**

Distro Name Node 18x Node 20x Node 21x Node 22x
Amazon Linux 2 โŒ โŒ โŒ โŒ
Amazon Linux 2023 โœ… โœ… โœ… โœ…

[!NOTE]
If you are looking to run Node.js in a non-supported Linux version contact NodeSource to get enterprise support for your specific needs.

RPM Installation Instructions

Installation Instructions (RPM)

Node.js v23.x

Using RPM-based Systems (Node.js 23)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_23.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    sudo bash nodesource_setup.sh
  3. Install Node.js:

    sh
    sudo yum install -y nodejs
  4. Verify the installation:

    sh
    node -v

No root privileges (Node.js 23)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_23.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    bash nodesource_setup.sh
  3. Install Node.js:

    sh
    yum install -y nodejs
  4. Verify the installation:

    sh
    node -v

Node.js v22.x

Using RPM-based Systems (Node.js 22)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_22.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    sudo bash nodesource_setup.sh
  3. Install Node.js:

    sh
    sudo yum install -y nodejs
  4. Verify the installation:

    sh
    node -v

No root privileges (Node.js 22)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_22.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    bash nodesource_setup.sh
  3. Install Node.js:

    sh
    yum install -y nodejs
  4. Verify the installation:

    sh
    node -v

Node.js v20.x

As root (Node.js 20)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_20.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    yum install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    yum install -y nodejs

    Verify the installation:

    sh
    node -v

No root privileges (Node.js 20)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_20.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo yum install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo yum install -y nodejs

    Verify the installation:

    sh
    node -v

Node.js v18.x

As root (Node.js 18)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_18.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo yum install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo yum install -y nodejs

    Verify the installation:

    sh
    node -v

No root privileges (Node.js 18)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_18.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    sudo bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo yum install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo yum install -y nodejs

    Verify the installation:

    sh
    node -v

N|Solid or Node.js LTS (22.x)

As root (N|Solid or Node.js LTS)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_lts.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    yum install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    yum install -y nodejs

    Verify the installation:

    sh
    node -v

No root privileges (N|Solid or Node.js LTS)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_lts.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    sudo bash nodesource_setup.sh
  3. Install N|Solid or Node.js:

    N|Solid

    Install N|Solid:

    sh
    sudo yum install -y nsolid

    Verify the installation:

    sh
    nsolid -v

    Node.js

    Install Node.js:

    sh
    sudo yum install -y nodejs

    Verify the installation:

    sh
    node -v

Node.js Current (24.x)

As root (Node.js Current)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_current.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    bash nodesource_setup.sh
  3. Install Node.js:

    sh
    yum install -y nodejs
  4. Verify the installation:

    sh
    node -v

No root privileges (Node.js Current)

Before you begin, ensure that curl is installed on your system. If curl is not installed, you can install it using the following command:

sh
sudo yum install -y curl
  1. Download the setup script:

    sh
    curl -fsSL https://rpm.nodesource.com/setup_current.x -o nodesource_setup.sh
  2. Run the setup script as root:

    sh
    sudo bash nodesource_setup.sh
  3. Install Node.js:

    sh
    sudo yum install -y nodejs
  4. Verify the installation:

    sh
    node -v

Optional: install build tools

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

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

Uninstall `nsolid` or `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

N|Solid

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

Node.js

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

Nodejs Release Calendar


source: https://nodejs.dev

FAQ

Q: Are the scripts deprecated?

A: The scripts are deprecated for the versions of Node.js that are currently outdated. While the packages for these versions still exist, we no longer provide support for them. Our support is exclusively dedicated to the active Node.js versions, which, as of today, are 18, 20, and 21. Users utilizing these versions can confidently use our scripts, but we encourage those using older versions to upgrade for continued support and the best experience.


Q: How can I configure the repository manually?

A: If you prefer to manually configure the repository, we have a detailed guide to assist you through the process. Please visit our Repository Manual Installation Guide for comprehensive instructions. This guide is designed to provide step-by-step directions to ensure a smooth and successful manual setup of the repository for your Node.js environment.


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

Current Members

Adrian Estrada GitHub/edsadr Twitter/@edsadr
Jesus Paz GitHub/JesusPaz
Jefferson Rios GitHub/riosje

Past Members

Chris Lea GitHub/chrislea Twitter/@chrislea
Rod Vagg GitHub/rvagg Twitter/@rvagg
William Blankenship GitHub/retrohacker Twitter/@retrohack3r
Harry Truong GitHub/harrytruong
Matteo Brunati GitHub/mattbrun
Brian White GitHub/mscdex
Matt Lewandowsky GitHub/lewellyn
Jan-Hendrik Peters GitHub/hennr
Andris Reinman GitHub/andris9
Carvilsi GitHub/carvilsi
Krasimir Trenchev GitHub/Ava7
Phil Helm GitHub/phelma
0xmohit GitHub/0xmohit
jdarling GitHub/jdarling
Prayag Verma GitHub/pra85
Misha Brukman GitHub/mbrukman
Simon Lydell GitHub/lydell
Sebastian Blei GitHub/iamsebastian
Jorge Maldonado Ventura NotABug/jorgesumle
Mayank Metha GitHub/mayankmetha Twitter/@mayankmethad
Ivรกn Iguarรกn GitHub/igsu

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 is a trademark of Amazon Web Services, Inc.

CloudLinux is a trademark of CloudLinux, Inc


Overview (`OLD_README.md`)

[NodeSource](https://nodesource.com) Node.js Binary Distributions

This repository contains documentation for using the NodeSource Node.js Binary Distributions via .rpm and .deb 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.

Looking for the oldversion of README.md

Table of Contents

<a name="deb"></a>

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 Ubuntu versions:

NodeSource will maintain Ubuntu distributions in active support by Canonical, including LTS and the intermediate releases.

  • Ubuntu 16.04 LTS (Xenial Xerus) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Ubuntu 18.04 LTS (Bionic Beaver) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Ubuntu 18.10 (Cosmic Cuttlefish) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Ubuntu 19.04 (Disco Dingo) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Ubuntu 19.10 (Eoan Ermine) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Ubuntu 20.04 LTS (Focal Fossa)
  • Ubuntu 20.10 (Groovy Gorilla)
  • Ubuntu 21.04 (Hirsute Hippo)
  • Ubuntu 21.10 (Impish Indri)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 22.10 (Kinetic Kudu)

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 / oldoldstable (Stretch) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Debian 10 / oldstable (Buster)
  • Debian 11 / stable (Bullseye)
  • Debian unstable (Sid)
  • Debian testing (Bookworm)

Supported Linux Mint versions:

  • Linux Mint 18 "Sarah" (via Ubuntu 16.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 18.1 "Serena" (via Ubuntu 16.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 18.2 "Sonya" (via Ubuntu 16.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 18.3 "Sylvia" (via Ubuntu 16.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint Debian Edition (LMDE) 2 "Betsy" (via Debian 8) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 19 "Tara" (via Ubuntu 18.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 19.1 "Tessa" (via Ubuntu 18.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 19.2 "Tina" (via Ubuntu 18.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 19.3 "Tricia" (via Ubuntu 18.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint 20 "Ulyana" (via Ubuntu 20.04 LTS)
  • Linux Mint 20.1 "Ulyssa" (via Ubuntu 20.04 LTS)
  • Linux Mint 20.2 "Uma" (via Ubuntu 20.04 LTS)
  • Linux Mint 20.3 "Una" (via Ubuntu 20.04 LTS)
  • Linux Mint 21 "Vanessa" (via Ubuntu 22.04 LTS)
  • Linux Mint 21.1 "Vera" (via Ubuntu 22.04 LTS)
  • Linux Mint Debian Edition (LMDE) 3 "Cindy" (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Linux Mint Debian Edition (LMDE) 4 "Debbie" (via Debian 10)
  • Linux Mint Debian Edition (LMDE) 5 "Elsie" (via Debian 11)

Supported Devuan versions:

  • Ascii / oldoldstable (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Beowulf / oldstable (via Debian 10)
  • Chimaera / stable (via Debian 11)
  • Ceres / unstable (via Debian unstable)

Supported elementary OS versions:

  • elementary OS 0.4 Loki (via Ubuntu 16.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • elementary OS 5 Juno (via Ubuntu 18.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • elementary OS 5.1 Hera (via Ubuntu 18.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • elementary OS 6 Odin (via Ubuntu 20.04 LTS)
  • elementary OS 6.1 Jolnir (via Ubuntu 20.04 LTS)
  • elementary OS 7 horus (via Ubuntu 22.04 LTS)

Supported Trisquel versions:

  • Trisquel 8 "Flidas" (via Ubuntu 16.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Trisquel 9 "Etiona" (via Ubuntu 18.04 LTS) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+

Supported BOSS versions:

  • BOSS 7.0 "Drishti" (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • BOSS 8.0 "Unnati" (via Debian 10)
  • BOSS 9.0 "Urja" (via Debian 11)

Supported BunsenLabs versions:

  • Helium (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Lithium (via Debian 10)

Supported MX Linux versions:

  • MX-17 Horizon (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • MX-18 Continuum (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • MX-19 Patito Feo (via Debian 10)
  • MX-21 Wildflower (via Debian 11)

Supported Sparky Linux versions:

  • Sparky 4.x "Tyche" (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Sparky 5.x "Nibiru" (via Debian 10)
  • Sparky 6.x "Po Tolo" (via Debian 11)

Supported PureOS Linux versions:

  • PureOS 9.0 "Amber" (via Debian 10)
  • PureOS 10.0 "Byzantium" (via Debian 11)

Supported Astra Linux CE versions:

  • Astra Linux CE 2.12 "Orel" (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+

Supported Ubilinux versions:

  • Ubilinux 4.0 "Dolcetto" (via Debian 9) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+

Supported Parrot OS Linux versions:

  • Parrot OS 5.0 "Electro Ara" (via Debian 11)

Supported Deepin Linux versions:

  • Deepin 20 "Apricot" (via Debian 10)

<a name="debinstall"></a>

Installation instructions

Node.js v20.x:

Using Ubuntu

sh
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\
sudo apt install -y nodejs

Using Debian, as root

sh
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - &&\
apt install -y nodejs

Node.js v19.x:

Using Ubuntu

sh
curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\
sudo apt install -y nodejs

Using Debian, as root

sh
curl -fsSL https://deb.nodesource.com/setup_19.x | bash - &&\
apt install -y nodejs

Node.js v18.x:

Using Ubuntu

sh
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt install -y nodejs

Using Debian, as root

sh
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\
apt install -y nodejs

Node.js v16.x:

Using Ubuntu

sh
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
sudo apt install -y nodejs

Using Debian, as root

sh
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&\
apt install -y nodejs

Node.js LTS (v18.x):

Using Ubuntu

sh
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - &&\
sudo apt install -y nodejs

Using Debian, as root

sh
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - &&\
apt install -y nodejs

Node.js Current (v20.x):

Using Ubuntu

sh
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - &&\
sudo apt install -y nodejs

Using Debian, as root

sh
curl -fsSL https://deb.nodesource.com/setup_current.x | bash - &&\
apt 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

sh
apt install -y build-essential

<a name="debuninstall"></a>

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

sh
apt purge nodejs &&\
rm -r /etc/apt/sources.list.d/nodesource.list

<a name="debmanual"></a>

Manual installation

If you're not a fan of curl | 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.

sh
# add-apt-repository may not be present on some Ubuntu releases:
# sudo apt 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

sh
KEYRING=/usr/share/keyrings/nodesource.gpg
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | sudo tee "$KEYRING" >/dev/null
# wget can also be used:
# wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | sudo tee "$KEYRING" >/dev/null
gpg --no-default-keyring --keyring "$KEYRING" --list-keys
chmod a+r /usr/share/keyrings/nodesource.gpg

The key ID is 9FD3B784BC1C6FC31A8A0A1C1655A0AB68576280.

3. Add the desired NodeSource repository

sh
# Replace with the branch of Node.js or io.js you want to install: node_8.x, node_16.x, etc...
VERSION=node_16.x
# Replace with the keyring above, if different
KEYRING=/usr/share/keyrings/nodesource.gpg
# 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 [signed-by=$KEYRING] https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src [signed-by=$KEYRING] 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

sh
sudo apt update
sudo apt install nodejs

<a name="rpm"></a>

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 Red Hatยฎ Enterprise Linuxยฎ versions:

  • RHEL 7 (64-bit) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • RHEL 8 (64-bit)

Supported CentOS versions:

  • CentOS 7 (64-bit) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • CentOS 8 (64-bit)
  • CentOS 8 Stream (64-bit)

Supported AlmaLinux OS versions:

  • AlmaLinux 8 (64-bit)

Supported Mageia Linux versions:

  • Mageia 7 (64-bit) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Mageia 8 (64-bit)

Supported Rocky Linux OS versions:

  • Rocky 8 (64-bit)

Supported CloudLinux versions:

  • CloudLinux 6 (32-bit for Node <= 10.x and 64-bit)

Supported Fedora versions:

  • Fedora 33 (64-bit)
  • Fedora 34 (64-bit)
  • Fedora 35 (64-bit)
  • Fedora 36 (64-bit)

Supported Amazon Linux versions:

  • Amazon Linux (64-bit) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • Amazon Linux 2 (64-bit) WARNING: BUILD SYSTEM CURRENTLY BROKEN FOR NODEJS 18+
  • ~~Amazon Linux 2023 (64-bit)

<a name="rpminstall"></a>

Installation instructions

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 v20.x

As root

sh
curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -

No root privileges

sh
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -

Node.js v19.x

As root

sh
curl -fsSL https://rpm.nodesource.com/setup_19.x | bash -

No root privileges

sh
curl -fsSL https://rpm.nodesource.com/setup_19.x | sudo bash -

Node.js v18.x

As root

sh
curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -

No root privileges

sh
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -

Node.js v16.x

As root

sh
curl -fsSL https://rpm.nodesource.com/setup_16.x | bash -

No root privileges

sh
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -

Node.js LTS (18.x)

As root

sh
curl -fsSL https://rpm.nodesource.com/setup_lts.x | bash -

No root privileges

sh
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -

Node.js Current (20.x)

As root

sh
curl -fsSL https://rpm.nodesource.com/setup_current.x | bash -

No root privileges

sh
curl -fsSL https://rpm.nodesource.com/setup_current.x | sudo bash -

Optional: install build tools

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

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

<a name="rpmuninstall"></a>

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

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

<a name="tests"></a>

Tests

To test an installation is working (and that the setup scripts are working!) use:

sh
curl -fsSL https://deb.nodesource.com/test | bash -

<a name="questions"></a>

FAQ

Q: How do I use this repo when behind a proxy?

A: Please take a look at issue #9


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

A: Please take a look at issue #33


Q: I upgraded to a new major version of Node.js using the scripts, but the old version is still being installed, what is going on?

A: You probably need to clear out your package manager's cache. Take a look at issue #191


Q: I'm trying to install Node.js on CentOS 5 / RHEL 5 and it is failing, why?

A: Due to the limitations of the compiler toolchain on EL 5 and its end of general support, we no longer support. See issue #190


Q: I'm seeing "Your distribution, identified as ".i686" or ".i386, is not currently supported, why?

A: Node.js 4.x and newer require a 64bit os for rpms. See issue #268


Q: Why have certain versions of platforms/releases stopped receiving updates to Node.js?

A: Unfortunately, newer versions of V8 require a modern compiler toolchain. On some platforms, such as ARM wheezy, that toolchain is not available. See issue #247


Q: Why is my Node.js version newer than the one of the script Iโ€™ve run?

A: Your package manager is probably installing a newer Node.js version from a different source. See issue #657


Q: What is the current status of IPv6 support?

A: See issue #170


Q: I cannot install Node.js on Debian Jessie or Ubuntu Trusty Tahr: GPG error, why?

A: See issue #1181

<a name="requests"></a>

Requested Distributions

We, unfortunately, do not have the resources necessary to support and test the plethora of Linux releases in the wild, so we rely on community members such as yourself to get support on your favorite distributions! This is a list of releases that have been requested by the community. If you are interested in contributing to this project, this would be a great place to start!

<a name="authors-contributors"></a>

Authors and Contributors

Chris Lea GitHub/chrislea Twitter/@chrislea
Rod Vagg GitHub/rvagg Twitter/@rvagg
William Blankenship GitHub/retrohacker Twitter/@retrohack3r
Harry Truong GitHub/harrytruong
Matteo Brunati GitHub/mattbrun
Brian White GitHub/mscdex
Matt Lewandowsky GitHub/lewellyn
Jan-Hendrik Peters GitHub/hennr
Andris Reinman GitHub/andris9
Carvilsi GitHub/carvilsi
Krasimir Trenchev GitHub/Ava7
Phil Helm GitHub/phelma
0xmohit GitHub/0xmohit
jdarling GitHub/jdarling
Prayag Verma GitHub/pra85
Misha Brukman GitHub/mbrukman
Simon Lydell GitHub/lydell
Sebastian Blei GitHub/iamsebastian
Jorge Maldonado Ventura NotABug/jorgesumle
Mayank Metha GitHub/mayankmetha Twitter/@mayankmethad
Adrian Estrada GitHub/edsadr Twitter/@edsadr
Ivรกn Iguarรกn GitHub/igsu
Jesus Paz GitHub/JesusPaz

Contributions are welcomed from anyone wanting to improve this project!

<a name="project-license"></a>

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.*
CloudLinux is a trademark of Cloud Linux, Inc


Overview (`README.md`)

See the old documentation in the โžก๏ธ DEV_README.md


Overview (`scripts/deb/script_generator/README.md`)

Node.js Version Setup Scripts

This repository contains scripts for setting up different versions of Node.js on Debian based Linux systems.

Modifying the Scripts

Each script in this repository sets up a specific version of Node.js. The version is specified in the line NODE_VERSION="XX.x" in each script. To modify the version, simply replace "XX.x" with the desired version, e.g., "18.x".

For example, to modify the setup_18.x script to install Node.js version 20.x instead, you would change the line to NODE_VERSION="20.x".

Running the Scripts

To run a script, navigate to the directory containing the script and run the following command:

bash
sudo bash setup_XX.x

Replace XX.x with the version number of the script you want to run. For example, to run the setup_18.x script, you would use the command sudo bash setup_18.x.

How It Works

Each script in this repository performs the following steps:

  1. Checks if the system is an Debian based Linux distribution.
  2. Configures the NodeSource Node.js DEB repository for the specified version of Node.js.
  3. Logs a message indicating that the repository is configured and updated, and instructs the user to run apt install nodejs -y to complete the installation.

The setup_current and setup_latest scripts are special scripts that install the current and latest versions of Node.js, respectively. The current version is 20.x and the latest version is 21.x.

Updating the Scripts

If you make a change to the base script, you can regenerate all the version-specific scripts by running the generator script:

bash
bash generator.sh

This script iterates over a list of versions (currently 18.x, 20.x, and 21.x), and creates a new script for each version with the updated base script. It also creates setup_current and setup_latest scripts for the current and latest versions of Node.js, respectively.

Deploying the Scripts

After generating the scripts, you can deploy them to an S3 bucket using the AWS CLI. Here is the command to do so:

bash
aws s3 sync scripts/deb/ s3://deb.nodesource.com/ --exclude "*/**"

This command syncs all the files in the scripts/deb/ directory (but not its subdirectories) with the s3://deb.nodesource.com/ bucket. Make sure to replace s3://deb.nodesource.com/ with the path to your own S3 bucket.


Overview (`scripts/rpm/script_generator/README.md`)

Node.js Version Setup Scripts

This repository contains scripts for setting up different versions of Node.js on RPM-based Linux systems.

Modifying the Scripts

Each script in this repository sets up a specific version of Node.js. The version is specified in the line NODE_VERSION="XX.x" in each script. To modify the version, simply replace "XX.x" with the desired version, e.g., "18.x".

For example, to modify the setup_18.x script to install Node.js version 20.x instead, you would change the line to NODE_VERSION="20.x".

Running the Scripts

To run a script, navigate to the directory containing the script and run the following command:

bash
sudo bash setup_XX.x

Replace XX.x with the version number of the script you want to run. For example, to run the setup_18.x script, you would use the command sudo bash setup_18.x.

How It Works

Each script in this repository performs the following steps:

  1. Checks if the system is an RPM-based Linux distribution.
  2. Configures the NodeSource Node.js RPM repository for the specified version of Node.js.
  3. Checks if dnf, yum or microdnf is available and updates the system using the available package manager.
  4. Logs a message indicating that the repository is configured and updated, and instructs the user to run dnf install nodejs -y, yum install nodejs -y or microdnf install nodejs -y to complete the installation.

The setup_current and setup_latest scripts are special scripts that install the current and latest versions of Node.js, respectively. The current version is 20.x and the latest version is 21.x.

Updating the Scripts

If you make a change to the base script, you can regenerate all the version-specific scripts by running the generator script:

bash
bash generator.sh

This script iterates over a list of versions (currently 18.x, 20.x, and 21.x), and creates a new script for each version with the updated base script. It also creates setup_current and setup_latest scripts for the current and latest versions of Node.js, respectively.

Deploying the Scripts

After generating the scripts, you can deploy them to an S3 bucket using the AWS CLI. Here is the command to do so:

bash
aws s3 sync scripts/rpm/ s3://rpm.nodesource.com/ --exclude "*/**"

This command syncs all the files in the scripts/rpm/ directory (but not its subdirectories) with the s3://rpm.nodesource.com/ bucket. Make sure to replace s3://rpm.nodesource.com/ with the path to your own S3 bucket.


--- METRICS ---