jdx/mise · error
no precompiled ruby found for {tv} on {platform}
Error message
no precompiled ruby found for {tv} on {platform} What it means
During core:ruby installation, mise first tries to select a precompiled build; if none matches the requested version/platform but a platform mapping exists, it fails naming the version and platform, with a hint to compile from source (ruby.compile=true).
Source
Thrown at src/plugins/core/ruby.rs:1078
self.install_rubygems_hook(&installed_tv)?;
if let Err(err) = self
.install_default_gems(&ctx.config, &installed_tv, ctx.pr.as_ref())
.await
{
warn!("failed to install default ruby gems {err:#}");
}
return Ok(installed_tv);
}
// `ruby.compile = false` opts out of source builds entirely, so a missing
// precompiled binary is an error instead of a silent ruby-build fallback.
if self.precompiled_only() {
hint!(
"ruby_compile",
"To compile ruby from source, run",
"mise settings ruby.compile=true"
);
match self.precompiled_platform() {
Some(platform) => bail!("no precompiled ruby found for {tv} on {platform}"),
None => bail!("no precompiled ruby is available for this platform"),
}
}
}
// No precompiled available, fall through to compile from source
// Compile from source
let _ = Settings::get().ruby_compile(CompilePurpose::Install);
if let Err(err) = self.update_build_tool(Some(ctx)).await {
warn!("ruby build tool update error: {err:#}");
}
ctx.pr.set_message("ruby-build".into());
self.install_cmd(&ctx.config, &tv, ctx.pr.as_ref())
.await?
.execute()?;
self.install_rubygems_hook(&tv)?;
if let Err(err) = selfView on GitHub (pinned to afd2eddd3a)
Solutions
- Enable compilation: `mise settings ruby.compile=true`
- Pick a ruby version that exists in the precompiled releases
- Set a custom ruby.precompiled_url that hosts the needed build
Example fix
// before mise install ruby@3.4.0 // no prebuilt for this platform yet // after mise settings set ruby.compile true mise install ruby@3.4.0
Defensive patterns
Strategy: fallback
Validate before calling
curl -fsSL "https://github.com/MISE-Hosting/ruby-builds/releases" | grep -q "ruby-3.3.0-$(uname -m)" || echo 'no prebuilt; enable ruby.compile'
Try / catch
if ! mise install ruby@"$VER"; then mise settings set ruby.compile true mise install ruby@"$VER" fi
Prevention
- Verify the precompiled releases list includes your version before pinning
- Prefer versions actively published in prebuilt release sets
- Enable ruby.compile in environments needing edge/old versions
When it happens
Trigger: `mise install ruby@<version>` where the precompiled release list has no build for that version on your (supported) platform, and ruby.compile is disabled; raised directly in install_version_.
Common situations: Requesting a very old or brand-new ruby version absent from prebuilt releases; platform supported but that specific version's artifact missing.
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- no precompiled ruby is available for this platform
- no precompiled ruby is available for this platform To compil
- Ruby engine '{}' is not supported on Windows. Only standard
- {message}\ncompilation is disabled
- precompiled node archive not found and compilation is disabl
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/f0bbceb8842766af.
Report an issue: GitHub.