{"record":{"id":"632f139b506eef99","repo":"cube-js/cube","slug":"the-latest-release-has-no-binary-for-this-platform","errorCode":null,"errorMessage":"the latest release has no binary for this platform ({}-{}); it may still be building — try again in a few minutes","messagePattern":"the latest release has no binary for this platform \\((.+?)-(.+?)\\); it may still be building — try again in a few minutes","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"rust/cube-cli/src/commands/update.rs","lineNumber":39,"sourceCode":"\n    let release = update::latest_release(&http).await?;\n    let latest = release.version();\n\n    if !is_newer(latest, CURRENT_VERSION) {\n        output::success(&format!(\n            \"Cube CLI {CURRENT_VERSION} is up to date (latest release: {latest})\"\n        ));\n        return Ok(());\n    }\n    println!(\"Current version: {CURRENT_VERSION}\");\n    println!(\"Latest release:  {}\", latest.bold().green());\n    if args.check {\n        println!(\"Run {} to install it.\", \"cube update\".bold().cyan());\n        return Ok(());\n    }\n\n    let Some(asset) = release.asset_for_this_platform() else {\n        bail!(\n            \"the latest release has no binary for this platform ({}-{}); \\\n             it may still be building — try again in a few minutes\",\n            std::env::consts::OS,\n            std::env::consts::ARCH\n        );\n    };\n\n    eprintln!(\"Downloading {}…\", asset.name);\n    let bytes = http\n        .get(&asset.browser_download_url)\n        .send()\n        .await?\n        .error_for_status()\n        .context(\"download failed\")?\n        .bytes()\n        .await?;\n\n    let new_binary = extract_binary(&bytes)?;","sourceCodeStart":21,"sourceCodeEnd":57,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/rust/cube-cli/src/commands/update.rs#L21-L57","documentation":"`cube update` fetches the latest CLI release and looks for an asset matching the current OS/architecture (e.g. linux-x86_64). If the release exists but has no binary asset for this platform, the CLI bails with this message, noting the asset may not be uploaded yet.","triggerScenarios":"Running `cube update` immediately after a new release is published, before platform binaries finish uploading; running on an OS/arch the project doesn't publish binaries for (e.g. linux-aarch64, freebsd).","commonSituations":"CI runners on less common architectures; using the CLI right at release time;musl/alpine or ARM environments lacking published assets.","solutions":["Wait a few minutes and re-run `cube update`","Check the release page on GitHub for available assets for your platform","Install via an alternative channel (package manager or build from source) if your platform isn't supported"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// check assets before updating\nconst rel = await fetch(RELEASE_API).then(r => r.json());\nconst want = `${os()}-${arch()}`;\nif (!rel.assets.some(a => a.name.includes(want))) console.warn(\"asset not yet published\");","typeGuard":null,"tryCatchPattern":"try {\n  run(\"cube update\");\n} catch (e) {\n  if (String(e).includes(\"no binary for this platform\")) {\n    await sleep(5 * 60_000); run(\"cube update\");\n  } else throw e;\n}","preventionTips":["Delay update automation until well after release time","Verify your OS/arch combination has published binaries","Use a fallback install method (package manager, source build) for unsupported platforms"],"tags":["cli","update","platform","release"],"backgroundTag":"missing-release-asset","analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}