Installing Node.js NES
How to install Node.js NES
Listing Available Versions
Version | Linux x64 | Darwin x64 | Darwin ARM | Windows x64 | RHEL 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:
Note
You must pass in a valid token for the endpoint to return non-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
.
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:
# 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:
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:
# 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:
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
orlinux
. - Architectures:
arm64
orx64
. - 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:
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:
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.
- Download the checksum and signature files:
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
- Import the GPG key used for signing:
GPG Key Fingerprint: CA44E935A3995EB733AF292B18DD1E9212F3C6A2
.
You can find the key on the following key servers:
- https://keys.openpgp.org/search?q=releases@herodevs.com
- https://keyserver.ubuntu.com/pks/lookup?search=releases@herodevs.com&fingerprint=on&op=index
- https://keys.mailvelope.com/pks/lookup?op=get&search=releases@herodevs.com
gpg --keyserver keys.openpgp.org --recv-keys CA44E935A3995EB733AF292B18DD1E9212F3C6A2
- Verify the signature of the checksum file:
gpg --verify SHASUMS256.txt.asc SHASUMS256.txt
- Verify the checksum of the downloaded binary:
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.
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.