coreybutler/nvm-windows · error
Version %s is not available. The complete list of available
Error message
Version %s is not available. The complete list of available versions can be found at %s
What it means
Sent on the install status channel when the version is not installed locally (node.IsVersionInstalled fails) and node.IsVersionAvailable(version) — which consults the fetched index.json of Node.js releases — reports the version does not exist upstream. The message embeds web.GetFullNodeUrl("index.json") so the user can verify the full catalog.
Source
Thrown at src/nvm.go:562
Actions: []Action{
{Type: "protocol", Label: "Open Explorer", URI: fmt.Sprintf("file://%s", filepath.ToSlash(filepath.Join(env.root)))},
},
})
} else {
fmt.Printf("rollback error: %v\n", err)
}
} else {
fmt.Println("Rollback complete.")
}
if cpuarch == "arm64" && !web.IsNodeArm64bitAvailable(version) {
status <- Status{Err: fmt.Errorf("Node.js v%s is only available in 32-bit and 64-bit.", version)}
}
if !node.IsVersionInstalled(env.root, version, cpuarch) {
if !node.IsVersionAvailable(version) {
url := web.GetFullNodeUrl("index.json")
status <- Status{Err: fmt.Errorf("Version %s is not available.\n\nThe complete list of available versions can be found at %s", version, url)}
}
}
return
}
}
}()
// Wait for the prior subroutine to initialize before starting the next dependent thread
time.Sleep(300 * time.Millisecond)
go func() {
v, a, err := getVersion(version, cpuarch)
version = v
cpuarch = a
// Setup signal handling first
signalChan := make(chan os.Signal, 1)View on GitHub (pinned to 5b18223ca1)
Solutions
- Run `nvm ls available` to list valid versions and retry with one of them.
- Double-check the exact version on nodejs.org/en/about/releases/ or the index.json URL shown in the message.
- If the release is brand new, wait or clear the cached index so it is re-fetched.
- For nightly/unofficial builds, download the zip manually into <NVM_HOME>\v<version> instead.
Example fix
# before nvm install 20.11.99 # after nvm install 20.11.0
Defensive patterns
Strategy: validation
Validate before calling
# bash: confirm the version exists in the index before installing
curl -sf https://nodejs.org/dist/index.json | grep -q "\"v$V\"" \
|| { echo "v$V not published" >&2; exit 1; }
nvm install "$V" Prevention
- Source versions from `nvm ls available` or index.json, never from memory.
- Pin exact released x.y.z versions in CI.
- Nightly builds must be installed manually into NVM_HOME, not via nvm install.
When it happens
Trigger: `nvm install 21.7.99` (never-released patch), `nvm install 4.9.1` (doesn't exist; 4.9.0 is last v4), or a version newer than any release. Runs on the 'already installed / early-return' path of install().
Common situations: Guessing point releases; typos in the patch number; copy-pasting a Linux-only or nightly (nightlies.nodejs.org) version that is not in the official index; users on an old cached index.json after a brand-new release.
Related errors
- Node.js v%s is only available in 32-bit and 64-bit.
- Node.js v%s is only available in 32-bit.
- "%s" is not a valid version. Please use a valid semantic ver
- Node.js v%s is not yet released or is not available for down
- failed to download v%v arm 64-bit executable
AI-assisted analysis of coreybutler/nvm-windows@5b18223ca1 (2026-08-15).
Data as JSON: /api/errors/5ce46f9dc211630f.
Report an issue: GitHub.