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

  1. 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.
  2. If you genuinely meant the newest, use `nvm install latest`.
  3. 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

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


AI-assisted analysis of coreybutler/nvm-windows@5b18223ca1 (2026-08-15). Data as JSON: /api/errors/05c0465f72012bae. Report an issue: GitHub.