{"record":{"id":"5ce46f9dc211630f","repo":"coreybutler/nvm-windows","slug":"version-s-is-not-available-the-complete-list-of","errorCode":null,"errorMessage":"Version %s is not available.\n\nThe complete list of available versions can be found at %s","messagePattern":"Version (.+?) is not available\\.\n\nThe complete list of available versions can be found at (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/nvm.go","lineNumber":562,"sourceCode":"\t\t\t\t\t\t\tActions: []Action{\n\t\t\t\t\t\t\t\t{Type: \"protocol\", Label: \"Open Explorer\", URI: fmt.Sprintf(\"file://%s\", filepath.ToSlash(filepath.Join(env.root)))},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfmt.Printf(\"rollback error: %v\\n\", err)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfmt.Println(\"Rollback complete.\")\n\t\t\t\t}\n\n\t\t\t\tif cpuarch == \"arm64\" && !web.IsNodeArm64bitAvailable(version) {\n\t\t\t\t\tstatus <- Status{Err: fmt.Errorf(\"Node.js v%s is only available in 32-bit and 64-bit.\", version)}\n\t\t\t\t}\n\n\t\t\t\tif !node.IsVersionInstalled(env.root, version, cpuarch) {\n\t\t\t\t\tif !node.IsVersionAvailable(version) {\n\t\t\t\t\t\turl := web.GetFullNodeUrl(\"index.json\")\n\t\t\t\t\t\tstatus <- Status{Err: fmt.Errorf(\"Version %s is not available.\\n\\nThe complete list of available versions can be found at %s\", version, url)}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}()\n\n\t// Wait for the prior subroutine to initialize before starting the next dependent thread\n\ttime.Sleep(300 * time.Millisecond)\n\n\tgo func() {\n\t\tv, a, err := getVersion(version, cpuarch)\n\t\tversion = v\n\t\tcpuarch = a\n\n\t\t// Setup signal handling first\n\t\tsignalChan := make(chan os.Signal, 1)","sourceCodeStart":544,"sourceCodeEnd":580,"githubUrl":"https://github.com/coreybutler/nvm-windows/blob/5b18223ca19ff50d707f35410dbc6bd440a9f74d/src/nvm.go#L544-L580","documentation":"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.","triggerScenarios":"`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().","commonSituations":"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.","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."],"exampleFix":"# before\nnvm install 20.11.99\n# after\nnvm install 20.11.0","handlingStrategy":"validation","validationCode":"# bash: confirm the version exists in the index before installing\ncurl -sf https://nodejs.org/dist/index.json | grep -q \"\\\"v$V\\\"\" \\\n  || { echo \"v$V not published\" >&2; exit 1; }\nnvm install \"$V\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["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."],"tags":["nvm-windows","version-availability","install","index-json"],"backgroundTag":null,"analyzedSha":"5b18223ca19ff50d707f35410dbc6bd440a9f74d","analyzedAt":"2026-08-15T10:06:51.428Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}