{"record":{"id":"d2c6178f0baf7d16","repo":"jdx/mise","slug":"no-precompiled-ruby-is-available-for-this-platform-d2c617","errorCode":null,"errorMessage":"no precompiled ruby is available for this platform","messagePattern":"no precompiled ruby is available for this platform","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/ruby.rs","lineNumber":1079,"sourceCode":"                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\n            .install_default_gems(&ctx.config, &tv, ctx.pr.as_ref())","sourceCodeStart":1061,"sourceCodeEnd":1097,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/plugins/core/ruby.rs#L1061-L1097","documentation":"Variant of the ruby precompiled install failure: when the requested ruby version has no precompiled build AND the platform itself has no precompiled mapping at all (precompiled_platform() is None), mise fails with this shorter platform-level message.","triggerScenarios":"`mise install ruby@<version>` on a platform entirely absent from precompiled ruby builds, with ruby.compile disabled.","commonSituations":"musl/Alpine,BSD or other unmapped hosts; dropped platform support in newer prebuilt release sets.","solutions":["Enable source compilation: `mise settings ruby.compile=true`","Switch to a platform with prebuilt ruby support (glibc Linux, supported macOS)","Use the vfox ruby plugin as an alternative backend"],"exampleFix":"// before\nmise install ruby@3.3.1  // alpine/musl: no platform mapping\n\n// after\nmise settings set ruby.compile true\nmise install ruby@3.3.1","handlingStrategy":"validation","validationCode":"case \"$(uname -s)-$(uname -m)\" in\n  Linux-x86_64|Linux-aarch64|Darwin-arm64|Darwin-x86_64) : ;;\n  *) mise settings set ruby.compile true ;;\nesac","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Map your CI/host OS-arch against precompiled ruby platform support before pinning","Enable ruby.compile by default on musl/Alpine images","Use vfox ruby when source builds are impractical and prebuilts are absent"],"tags":["ruby","install","precompiled","platform"],"backgroundTag":"unsupported-platform","analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}