Installing Node.js NES
How to install Node.js NES
Listing Available Versions
| Version | Linux x64 | Linux ARM64 | Darwin ARM64 | 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,v20.20.2-trial-nes - Platforms:
darwinorlinux. - Architectures:
arm64orx64. - Extensions:
.zipor.tar.gz.
Note: Because Node v18 and v20 are being adopted before their End‑of‑Life, we prepend
-trialto the version number before the-nessuffix. Remove-trialif you will be installing other versions.
Example: v18.20.6-trial-nes, v20.20.2-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.15-nes/node-v18.20.15-nes-bundled.el8.x86_64.rpm
curl -sL -O -H "Authorization: Bearer <token>" https://registry.nes.herodevs.com/nodejs/nes/v18.20.15-nes/npm-10.8.2-v18.20.15-nes-bundled.el8.x86_64.rpm
dnf -y install --nogpgcheck \
./npm-10.8.2-v18.20.15-nes-bundled.el8.x86_64.rpm \
./node-v18.20.15-nes-bundled.el8.x86_64.rpm
Cloud Provider Installations
For AWS and Google Cloud deployment guides, see Installing Node.js NES on cloud providers.
Verification
It is possible to verify the integrity of the downloaded files using the provided SHA256 checksums and GPG signatures.
- 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
GitHub Actions installation
You can use the setup-node action to install Node.js NES in GitHub Actions workflows by configuring the mirror and mirror-token parameters.
Prerequisites
- An NES registry token stored as a GitHub Actions secret (e.g.,
NES_TOKEN) setup-nodeaction version 6.3.0 or higher
Add the following to your workflow file:
- uses: actions/setup-node@v6.3.0
with:
node-version: '18.20.13-nes'
mirror: 'https://registry.nes.herodevs.com/nodejs'
mirror-token: 'Bearer ${{ secrets.NES_TOKEN }}'
The mirror parameter points to the HeroDevs NES registry, and mirror-token provides the authentication token for downloading the Node.js NES binary.
Version aliases or ranges are not supported.