Installing Node.js NES

How to install Node.js NES

Listing Available Versions

VersionLinux x64Darwin x64Darwin ARMWindows x64RHEL 8 x64
v12
v14
v16
v18
v20
v22

To retrieve the full list of available versions, including trials, run the following command in your terminal:

All Versions
Trial Versions
curl -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/index.tab

Download Node.js

Node.js NES can be downloaded and installed in several ways. This guide highlights the most common and convenient methods.

Using NVM

The fastest way to download Node.js on Linux and MacOS is through NVM.

NVM Windows is not supported, it is recommended to use the wget method instead. Make sure the NVM version is 0.40.0 or higher. You can check your NVM version by running nvm --version.

/bin/sh
export NVM_NODEJS_ORG_MIRROR=https://registry.nes.herodevs.com/nodejs/nes/
export NVM_AUTH_HEADER="Bearer <token>"
nvm ls-remote # check all the available versions
nvm install v16.20.5-nes
nvm use v16.20.5-nes

Alternatively, you can download the binary using curl or wget.

Using curl

To download the binary, your curl command should be formatted like the following:

/bin/sh
# Outputs the a tarball or zip to the current working directory
curl -sL -O -H "Authorization: Bearer <token>" ARTIFACT_URL

For example, to download the Node.js 16 NES, choose your platform and then run the associated curl command:

Darwin arm64
Darwin x64
Linux x64
Windows x64
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v16.20.5-nes/node-v16.20.5-nes-darwin-arm64.tar.gz

Using wget

Alternatively, you can use wget to download the binary. The format is as follows:

/bin/sh
# Outputs the a tarball or zip to the current working directory
wget --header="Authorization: Bearer <token>" ARTIFACT_URL

For example, to download the Node.js 16 NES, choose your platform and then run the associated wget command:

Darwin arm64
Darwin x64
Linux x64
Windows x64
wget --header="Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v16.20.5-nes/node-v16.20.5-nes-darwin-arm64.tar.gz

Dependending on the version you want to download, you may replace the version, platforms, or architecture with the following values:

  • Versions: v12.22.12-nes, v14.21.3-nes, v16.20.2-nes, v18.20.6-trial-nes
  • Platforms: darwin or linux.
  • Architectures: arm64 or x64.
  • Extensions: .zip or .tar.gz.

Note: Because Node v18 is being adopted before its End‑of‑Life, we prepend -trial to the version number before the -nes suffix. Remove -trial if you will be installing other versions.

Example: v18.20.6-trial-nes.

RHEL 8 installation

To install Node.js NES on RHEL 8, you can download the following rpm package:

/bin/sh
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.12-nes/node-devel-v18.20.12-nes.el8.x86_64.rpm
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.12-nes/node-docs-v18.20.12-nes.el8.noarch.rpm
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.12-nes/node-full-i18n-v18.20.12-nes.el8.x86_64.rpm
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.12-nes/node-v18.20.12-nes.el8.x86_64.rpm
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.12-nes/npm-10.8.2-v18.20.12-nes.el8.x86_64.rpm

dnf install node-devel-v18.20.12-nes.el8.x86_64.rpm
dnf install node-docs-v18.20.12-nes.el8.noarch.rpm
dnf install node-full-i18n-v18.20.12-nes.el8.x86_64.rpm
dnf install node-v18.20.12-nes.el8.x86_64.rpm
dnf install npm-10.8.2-v18.20.12-nes.el8.x86_64.rpm

HeroDevs also provides the dependencies for Node.js NES on RHEL 8:

/bin/sh
curl -Lo /etc/yum.repos.d/home:herodevs.repo https://download.opensuse.org/repositories/home:herodevs/CentOS_8/home:herodevs.repo

yum install -y libuv libuv-devel brotli brotli-devel nghttp2 libnghttp2-devel procps-ng

Verification

It is possible to verify the integrity of the downloaded files using the provided SHA256 checksums and GPG signatures.

Note: This feature is available starting from Node.js v18.20.13 NES. Soon also earlier versions will include these files.

  1. Download the checksum and signature files:
/bin/sh
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.13-nes/SHASUMS256.txt
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.13-nes/SHASUMS256.txt.asc
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.13-nes/SHASUMS256.txt.sig
  1. Import the GPG key used for signing:

GPG Key Fingerprint: CA44E935A3995EB733AF292B18DD1E9212F3C6A2.

You can find the key on the following key servers:

/bin/sh
gpg --keyserver keys.openpgp.org --recv-keys CA44E935A3995EB733AF292B18DD1E9212F3C6A2
  1. Verify the signature of the checksum file:
/bin/sh
gpg --verify SHASUMS256.txt.asc SHASUMS256.txt
  1. Verify the checksum of the downloaded binary:
/bin/sh
sha256sum -c --ignore-missing SHASUMS256.txt

A vex file is also provided for CVE verification:

Note: node.vex.json file is available for Node.js NES versions v18.20.13 and v16.20.8.

/bin/sh
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.13-nes/node.vex.json

Note: The vex file is not signed and might be removed or changed in the future.