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:
The Homebrew formula uses prebuilt Nodeup release archives for:
darwin/amd64darwin/arm64linux/amd64linux/arm64
Direct Installers
The repository maintains direct installers at:
scripts/install/nodeup.shscripts/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:
Windows PowerShell:
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:
Windows PowerShell:
cargo-binstall
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
Verify the Install
Run these commands in a shell where nodeup resolves on PATH:
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:
x86 hosts are unsupported.
Local Directories
Nodeup uses separate data, cache, and config roots. Override them with:
NODEUP_DATA_HOMENODEUP_CACHE_HOMENODEUP_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_URLNODEUP_DOWNLOAD_BASE_URL
The release index cache TTL defaults to 600 seconds and can be changed with NODEUP_RELEASE_INDEX_TTL_SECONDS.