NodeSource Node.js Binary Distributions
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.
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
- Debian and Ubuntu based distributions (deb)
- Enterprise Linux based distributions (rpm)
- Nodejs Release Calendar
- FAQ
- Authors and Contributors
- License
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)
Distro Name | Node 16x | Node 18x | Node 20x | Node 21x |
---|---|---|---|---|
Ubuntu Bionic ^18.04 | ✅ | ❌ | ❌ | ❌ |
Ubuntu Focal ^20.04 | ✅ | ✅ | ✅ | ✅ |
Ubuntu Jammy ^22.04 | ✅ | ✅ | ✅ | ✅ |
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
If you have root access, you can omit the 'sudo' command as you already have full administrative privileges.
- 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
- 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
- Run Update and Install
sudo apt-get update
sudo apt-get install nodejs -y
To completely remove Node.js installed from the deb.nodesource.com package methods above:
apt-get purge nodejs &&\
rm -r /etc/apt/sources.list.d/nodesource.list &&\
rm -r /etc/apt/keyrings/nodesource.gpg
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)
Distro Name | Node 16x | Node 18x | Node 20x |
---|---|---|---|
Fedora >= 20 (20->28) | ✅ | ❌ | ❌ |
Fedora >= 29 | ✅ | ✅ | ✅ |
Fedora >= 36 | ✅ | ✅ | ✅ |
Distro Name | Node 16x | Node 18x | Node 20x |
---|---|---|---|
Redhat 7 | ✅ | ❌ | ❌ |
Redhat 8 | ✅ | ✅ | ✅ |
Redhat 9 | ✅ | ✅ | ✅ |
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
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.
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
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
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
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'
To completely remove Node.js installed from the rpm.nodesource.com package methods above:
yum remove nodejs &&\
rm -r /etc/yum.repos.d/nodesource*.repo &&\
yum clean all
We've created some scripts to make easy the repo configuration.
This only works from Node16 forwards
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
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
source: https://nodejs.dev
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:
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 | |
Jefferson Rios | GitHub/riosje |
Contributions are welcomed from anyone wanting to improve this project!
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