{"record":{"id":"f52aedfe9e64a7cd","repo":"jdx/mise","slug":"ruby-engine-version-is-not-supported-on-window","errorCode":null,"errorMessage":"Ruby engine '{version}' is not supported on Windows.\\nOnly standard MRI Ruby versions can be installed via RubyInstaller2.","messagePattern":"Ruby engine '(.+?)' is not supported on Windows\\.\\\\nOnly standard MRI Ruby versions can be installed via RubyInstaller2\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/ruby_windows.rs","lineNumber":229,"sourceCode":"                body.trim()\n                    .trim_start_matches(\"ruby-\")\n                    .trim_start_matches('v')\n                    .to_string()\n            }\n        };\n        if v.is_empty() {\n            return Ok(vec![]);\n        }\n        Ok(vec![v])\n    }\n\n    async fn install_version_(\n        &self,\n        ctx: &InstallContext,\n        mut tv: ToolVersion,\n    ) -> eyre::Result<ToolVersion> {\n        if !super::ruby_common::is_mri_version(&tv.version) {\n            bail!(\n                \"Ruby engine '{}' is not supported on Windows.\\n\\\n                 Only standard MRI Ruby versions can be installed via RubyInstaller2.\",\n                tv.version\n            );\n        }\n        let tarball = self.download(&tv, ctx.pr.as_ref()).await?;\n        self.verify_checksum(ctx, &mut tv, &tarball)?;\n        self.install(ctx, &tv, &tarball).await?;\n        self.verify(ctx, &tv).await?;\n        self.install_rubygems_hook(&tv)?;\n        self.test_gem(&ctx.config, &tv, ctx.pr.as_ref()).await?;\n        if let Err(err) = self\n            .install_default_gems(&ctx.config, &tv, ctx.pr.as_ref())\n            .await\n        {\n            warn!(\"failed to install default ruby gems {err:#}\");\n        }\n        Ok(tv)","sourceCodeStart":211,"sourceCodeEnd":247,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/plugins/core/ruby_windows.rs#L211-L247","documentation":"The Windows Ruby core plugin only supports installing standard MRI (CRuby) interpreters via RubyInstaller2. If the requested tool version string resolves to a non-MRI Ruby engine (e.g. jruby, truffleruby, rbx, or a ref/channel name that is not a plain MRI version), install_version_ aborts before attempting any download. This is a deliberate guard because RubyInstaller2 only ships MRI builds.","triggerScenarios":"Running `mise install ruby@<version>` (or having ruby in a .tool-versions/mise.toml) on Windows where ruby_common::is_mri_version(&tv.version) returns false — e.g. ruby@jruby-9.4, ruby@truffleruby-23.1, ruby@ref:master, or other non-standard version strings.","commonSituations":"Users migrating a project config from macOS/Linux to Windows that pins a non-MRI engine; copying a team .tool-versions that uses jruby or truffleruby; typos in the version string that fail MRI version parsing.","solutions":["Change the requested version to a standard MRI version string (e.g. 3.3.1) in your .tool-versions or mise.toml.","If you genuinely need JRuby/TruffleRuby on Windows, install it manually or via another package manager instead of mise's ruby plugin.","Check that no environment-specific config (MISE_*) overrides ruby's version with a non-MRI engine name."],"exampleFix":"// before (.tool-versions)\nruby jruby-9.4.5.0\n// after (.tool-versions)\nruby 3.3.1","handlingStrategy":"validation","validationCode":"if !version.split(['-', '/']).next().unwrap_or(\"\").chars().next().map_or(false, |c| c.is_ascii_digit()) {\n    eprintln!(\"ruby engine '{version}' is not installable on Windows; use a standard MRI version like 3.3.1\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["On Windows, pin only plain MRI version strings (e.g. 3.3.1) for ruby in mise config.","Keep engine-specific rubies (jruby, truffleruby) out of shared .tool-versions files, or override them per-OS with MISE_* env config.","Validate your mise.toml/.tool-versions after migrating projects across platforms."],"tags":["windows","ruby","unsupported-platform","version-parsing"],"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"}