Installation

Nodeup is distributed as first-party release artifacts. Install flows are designed for supported macOS, Linux, and Windows x64/arm64 hosts.

Homebrew

On macOS and Linux:

brew install delinoio/tap/nodeup

The Homebrew formula uses prebuilt Nodeup release archives for:

  • darwin/amd64
  • darwin/arm64
  • linux/amd64
  • linux/arm64

Direct Installers

The repository maintains direct installers at:

  • scripts/install/nodeup.sh
  • scripts/install/nodeup.ps1

Direct installers verify SHA256SUMS entries and Sigstore bundle sidecars (*.sigstore.json) with cosign. They support bundle-enabled releases only.

macOS and Linux:

./scripts/install/nodeup.sh --version latest --method direct

Windows PowerShell:

./scripts/install/nodeup.ps1 -Version latest -Method direct

Direct installers place the binary in ~/.local/bin by default and do not modify your shell PATH. Add that directory before verifying the install, or pass --install-dir / -InstallDir with a directory already on PATH.

macOS and Linux:

export PATH="$HOME/.local/bin:$PATH"

Windows PowerShell:

$env:Path = "$HOME\.local\bin;$env:Path"

cargo-binstall

cargo binstall nodeup --no-confirm

Nodeup's cargo-binstall metadata resolves first-party GitHub Release assets only. Third-party quick-install and compile fallback strategies are disabled by contract.

GitHub Actions

- uses: taiki-e/install-action@v2
  with:
    tool: cargo-binstall
- run: cargo binstall nodeup --no-confirm

Verify the Install

Run these commands in a shell where nodeup resolves on PATH:

nodeup --version
nodeup show home
RUST_LOG=off nodeup completions bash >/tmp/nodeup.bash

nodeup show home verifies that the binary can initialize Nodeup's local directory layout. nodeup completions verifies CLI parsing without requiring a Node.js runtime. RUST_LOG=off keeps redirected completion scripts free of human-mode log lines.

Supported Runtime Hosts

Nodeup runtime installation and shim dispatch support:

HostCPURuntime archive
macOSx64node-v<version>-darwin-x64.tar.xz
macOSarm64node-v<version>-darwin-arm64.tar.xz
Linuxx64node-v<version>-linux-x64.tar.xz
Linuxarm64node-v<version>-linux-arm64.tar.xz
Windowsx64node-v<version>-win-x64.zip
Windowsarm64node-v<version>-win-arm64.zip

x86 hosts are unsupported.

Local Directories

Nodeup uses separate data, cache, and config roots. Override them with:

  • NODEUP_DATA_HOME
  • NODEUP_CACHE_HOME
  • NODEUP_CONFIG_HOME

Defaults are XDG-style directories on macOS/Linux and AppData-style directories on Windows. nodeup show home prints the effective paths.

Release Index and Mirrors

By default, Nodeup reads the Node.js release index from https://nodejs.org/download/release/index.json and downloads runtime archives from https://nodejs.org/download/release.

Mirror overrides:

  • NODEUP_INDEX_URL
  • NODEUP_DOWNLOAD_BASE_URL

The release index cache TTL defaults to 600 seconds and can be changed with NODEUP_RELEASE_INDEX_TTL_SECONDS.