{"record":{"id":"f0bbceb8842766af","repo":"jdx/mise","slug":"no-precompiled-ruby-found-for-tv-on-platform","errorCode":null,"errorMessage":"no precompiled ruby found for {tv} on {platform}","messagePattern":"no precompiled ruby found for (.+?) on (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/ruby.rs","lineNumber":1078,"sourceCode":"                self.install_rubygems_hook(&installed_tv)?;\n                if let Err(err) = self\n                    .install_default_gems(&ctx.config, &installed_tv, ctx.pr.as_ref())\n                    .await\n                {\n                    warn!(\"failed to install default ruby gems {err:#}\");\n                }\n                return Ok(installed_tv);\n            }\n            // `ruby.compile = false` opts out of source builds entirely, so a missing\n            // precompiled binary is an error instead of a silent ruby-build fallback.\n            if self.precompiled_only() {\n                hint!(\n                    \"ruby_compile\",\n                    \"To compile ruby from source, run\",\n                    \"mise settings ruby.compile=true\"\n                );\n                match self.precompiled_platform() {\n                    Some(platform) => bail!(\"no precompiled ruby found for {tv} on {platform}\"),\n                    None => bail!(\"no precompiled ruby is available for this platform\"),\n                }\n            }\n        }\n        // No precompiled available, fall through to compile from source\n\n        // Compile from source\n        let _ = Settings::get().ruby_compile(CompilePurpose::Install);\n        if let Err(err) = self.update_build_tool(Some(ctx)).await {\n            warn!(\"ruby build tool update error: {err:#}\");\n        }\n        ctx.pr.set_message(\"ruby-build\".into());\n        self.install_cmd(&ctx.config, &tv, ctx.pr.as_ref())\n            .await?\n            .execute()?;\n\n        self.install_rubygems_hook(&tv)?;\n        if let Err(err) = self","sourceCodeStart":1060,"sourceCodeEnd":1096,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/plugins/core/ruby.rs#L1060-L1096","documentation":"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).","triggerScenarios":"`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_.","commonSituations":"Requesting a very old or brand-new ruby version absent from prebuilt releases; platform supported but that specific version's artifact missing.","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"],"exampleFix":"// before\nmise install ruby@3.4.0  // no prebuilt for this platform yet\n\n// after\nmise settings set ruby.compile true\nmise install ruby@3.4.0","handlingStrategy":"fallback","validationCode":"curl -fsSL \"https://github.com/MISE-Hosting/ruby-builds/releases\" | grep -q \"ruby-3.3.0-$(uname -m)\" || echo 'no prebuilt; enable ruby.compile'","typeGuard":null,"tryCatchPattern":"if ! mise install ruby@\"$VER\"; then\n  mise settings set ruby.compile true\n  mise install ruby@\"$VER\"\nfi","preventionTips":["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"],"tags":["ruby","install","precompiled","version"],"backgroundTag":"resource-not-found","analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}