coreybutler/nvm-windows · error
Node.js v%s is not yet released or is not available for down
Error message
Node.js v%s is not yet released or is not available for download yet.
What it means
Sent on the install status channel when checkVersionExceedsLatest(version) reports the requested version number is higher than the newest release known from index.json. It exists to distinguish 'does not exist yet' from 'never existed' — the version parses fine but is ahead of the published catalog.
Source
Thrown at src/nvm.go:653
sverr = errors.New("Unrecognized version: \"" + requestedVersion + "\"")
}
}
err = sverr
}
if err != nil {
status <- Status{Err: err, Help: true}
return
}
}
if err != nil {
status <- Status{Err: fmt.Errorf(`"%s" is not a valid version.`+"\n"+`Please use a valid semantic version number, "lts", or "latest".`, requestedVersion)}
return
}
if checkVersionExceedsLatest(version) {
status <- Status{Err: fmt.Errorf("Node.js v%s is not yet released or is not available for download yet.", version)}
return
}
if cpuarch == "64" && !web.IsNode64bitAvailable(version) {
status <- Status{Err: fmt.Errorf("Node.js v%s is only available in 32-bit.", version)}
return
}
// Check to see if the version is already installed
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
}
// Make the output directories
root, err := os.MkdirTemp("", "nvm-install-*")View on GitHub (pinned to 5b18223ca1)
Solutions
- Verify the version exists on nodejs.org; if it was just released, wait for the index to refresh or clear the cached index.json under the nvm root and retry.
- If you genuinely meant the newest, use `nvm install latest`.
- Fix the typo in the major/minor number and retry.
Example fix
# before nvm install 30.1.0 # after nvm install 20.11.0
Defensive patterns
Strategy: validation
Validate before calling
# bash: reject versions above the published latest
LATEST=$(curl -sf https://nodejs.org/dist/index.json | sed -nE 's/.*"version":"v([0-9.]+)".*/\1/p' | head -1)
[ "$(printf '%s\n%s' "$V" "$LATEST" | sort -V | tail -1) = "$LATEST" ] || { echo "v$V exceeds latest $LATEST" >&2; exit 1; } Prevention
- Compare your pinned version against index.json in CI before installing.
- Use `nvm install latest` when you always want the newest.
- After a brand-new node release, let the cached index refresh before pinning to it.
When it happens
Trigger: `nvm install 99.0.0`, or requesting a version released within the last hours while the locally cached index.json predates it (the cache says the latest is older than your request).
Common situations: Bots/CI pinning a version announced in a release blog before the local index refreshes; typo'd majors (30 instead of 20); users testing the guard with absurd versions.
Related errors
- Unrecognized version: "%s"
- Node.js v%s is only available in 32-bit and 64-bit.
- Version %s is not available. The complete list of available
- "%s" is not a valid version. Please use a valid semantic ver
- Node.js v%s is only available in 32-bit.
AI-assisted analysis of coreybutler/nvm-windows@5b18223ca1 (2026-08-15).
Data as JSON: /api/errors/05c0465f72012bae.
Report an issue: GitHub.