jdx/mise · error
no precompiled ruby is available for this platform\nTo compi
Error message
no precompiled ruby is available for this platform\nTo compile ruby from source, run: mise settings ruby.compile=true
What it means
core:ruby enumerates precompiled ruby builds (from the configured release source). When listing remote versions, if the current platform has no precompiled platform mapping (precompiled_platform() returns None), mise cannot enumerate precompiled builds and fails immediately with a hint to enable source compilation via ruby.compile=true.
Source
Thrown at src/plugins/core/ruby.rs:626
)))
}
/// Restrict a version list to versions that have a precompiled binary for this platform.
///
/// Entries are only removed, never reordered, so `latest` and prefix resolution keep the
/// same ordering semantics as a source install.
async fn retain_precompiled_versions(
&self,
versions: Vec<VersionInfo>,
) -> Result<Vec<VersionInfo>> {
let settings = Settings::get();
let source = &settings.ruby.precompiled_url;
if source.contains("://") {
// A URL template can't be enumerated, so every version is assumed available.
return Ok(versions);
}
let Some(platform) = self.precompiled_platform() else {
bail!(
"no precompiled ruby is available for this platform\n\
To compile ruby from source, run: mise settings ruby.compile=true"
);
};
// Only the releases `list_releases` returns are considered. Without
// MISE_LIST_ALL_VERSIONS that is the most recent page, which is where the
// precompiled builds live.
let releases = github::list_releases(source).await?;
let available = Self::precompiled_versions_from_releases(
&releases,
Self::source_requires_build_revision(source),
&platform,
);
Ok(versions
.into_iter()
.filter(|v| available.contains(&v.version))
.collect())
}View on GitHub (pinned to afd2eddd3a)
Solutions
- Enable source compilation: `mise settings ruby.compile=true`
- Set ruby.precompiled_url to a URL template providing builds for your platform
- Use a supported platform (glibc Linux x86_64/aarch64 or supported macOS) or the vfox ruby backend
Example fix
// before mise ls-remote ruby // unsupported platform // after mise settings set ruby.compile true mise install ruby@3.3.0
Defensive patterns
Strategy: validation
Validate before calling
case "$(uname -s)-$(uname -m)" in Linux-x86_64|Linux-aarch64|Darwin-arm64|Darwin-x86_64) : ;; *) echo "platform likely unsupported for precompiled ruby; set ruby.compile=true" ;; esac
Try / catch
if ! mise ls-remote ruby >/dev/null 2>&1; then mise settings set ruby.compile true fi
Prevention
- Check supported precompiled ruby platforms before adopting mise on unusual hosts
- Set ruby.compile=true in base images for musl/Alpine
- Keep a compiler toolchain available when ruby prebuilts can't cover you
When it happens
Trigger: Running anything that lists remote ruby versions (e.g. `mise ls-remote ruby`) on a platform the precompiled builds don't cover, when ruby.precompiled_url is not a custom URL template and ruby.compile is disabled.
Common situations: Uncommon OS/arch (musl/Alpine, BSD, exotic CPUs); macOS x86_64 after prebuilt support was dropped; custom precompiled_url not set while default host doesn't map to any platform.
Understand the failure class
Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.
Related errors
- no precompiled ruby is available for this platform
- no precompiled ruby is available for this platform To compil
- no precompiled python found for {tv} on {platform}
- no precompiled ruby found for {tv} on {platform}
- Ruby engine '{}' is not supported on Windows. Only standard
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/2311956c33fbdc26.
Report an issue: GitHub.