Visit Node NES Home Page

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

AWS Lambda installation

You can run Node.js NES in AWS Lambda by building a custom container image based on the Lambda provided.al2023 base.

Note that older NES version may not work on the Amazon Linux 2023 base image and might require the Amazon Linux 2 base instead.

Dockerfile
index.js
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
FROM public.ecr.aws/amazonlinux/amazonlinux:2023

# Pin the Node.js NES version you want inside Lambda
ARG NODE_VERSION=v20.19.14-nes
# Provide your NES token at build time: --build-arg NES_TOKEN=...
ARG NES_TOKEN
ARG REGISTRY_BASE=https://registry.nes.herodevs.com/nodejs/nes

ENV NODE_DIR=/opt/node

RUN dnf install -y --allowerasing \
    ca-certificates \
    tar \
    gzip \
    shadow-utils \
    curl \
    cmake \
    make \
    gcc \
    gcc-c++ \
    python3 \
    autoconf \
    automake \
    libtool \
    && dnf clean all

# Install Node.js NES
RUN curl -fSL -H "Authorization: Bearer ${NES_TOKEN}" "${REGISTRY_BASE}/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64.tar.gz" -o /tmp/node.tgz \
    && mkdir -p ${NODE_DIR} \
    && tar -xzf /tmp/node.tgz -C ${NODE_DIR} --strip-components=1 \
    && rm /tmp/node.tgz

ENV PATH="${NODE_DIR}/bin:${PATH}" \
    npm_config_nodedir=${NODE_DIR} \
    npm_config_prefix=${NODE_DIR}

RUN node --version

RUN npm install -g aws-lambda-ric@3

COPY index.js ./

ENV AWS_EXECUTION_ENV=AWS_Lambda_nodejs20.x

ENTRYPOINT ["/opt/node/bin/node", "/opt/node/lib/node_modules/aws-lambda-ric/bin/index.mjs"]

CMD ["index.handler"]