{"record":{"id":"2311956c33fbdc26","repo":"jdx/mise","slug":"no-precompiled-ruby-is-available-for-this-platform-231195","errorCode":null,"errorMessage":"no precompiled ruby is available for this platform\\nTo compile ruby from source, run: mise settings ruby.compile=true","messagePattern":"no precompiled ruby is available for this platform\\\\nTo compile ruby from source, run: mise settings ruby\\.compile=true","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/ruby.rs","lineNumber":626,"sourceCode":"        )))\n    }\n\n    /// Restrict a version list to versions that have a precompiled binary for this platform.\n    ///\n    /// Entries are only removed, never reordered, so `latest` and prefix resolution keep the\n    /// same ordering semantics as a source install.\n    async fn retain_precompiled_versions(\n        &self,\n        versions: Vec<VersionInfo>,\n    ) -> Result<Vec<VersionInfo>> {\n        let settings = Settings::get();\n        let source = &settings.ruby.precompiled_url;\n        if source.contains(\"://\") {\n            // A URL template can't be enumerated, so every version is assumed available.\n            return Ok(versions);\n        }\n        let Some(platform) = self.precompiled_platform() else {\n            bail!(\n                \"no precompiled ruby is available for this platform\\n\\\n                 To compile ruby from source, run: mise settings ruby.compile=true\"\n            );\n        };\n        // Only the releases `list_releases` returns are considered. Without\n        // MISE_LIST_ALL_VERSIONS that is the most recent page, which is where the\n        // precompiled builds live.\n        let releases = github::list_releases(source).await?;\n        let available = Self::precompiled_versions_from_releases(\n            &releases,\n            Self::source_requires_build_revision(source),\n            &platform,\n        );\n        Ok(versions\n            .into_iter()\n            .filter(|v| available.contains(&v.version))\n            .collect())\n    }","sourceCodeStart":608,"sourceCodeEnd":644,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/plugins/core/ruby.rs#L608-L644","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":"// before\nmise ls-remote ruby  // unsupported platform\n\n// after\nmise settings set ruby.compile true\nmise install ruby@3.3.0","handlingStrategy":"validation","validationCode":"case \"$(uname -s)-$(uname -m)\" in\n  Linux-x86_64|Linux-aarch64|Darwin-arm64|Darwin-x86_64) : ;;\n  *) echo \"platform likely unsupported for precompiled ruby; set ruby.compile=true\" ;;\nesac","typeGuard":null,"tryCatchPattern":"if ! mise ls-remote ruby >/dev/null 2>&1; then\n  mise settings set ruby.compile true\nfi","preventionTips":["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"],"tags":["ruby","precompiled","platform","ls-remote"],"backgroundTag":"unsupported-platform","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"}