{"record":{"id":"2067506e5e2f19fa","repo":"jdx/mise","slug":"message-compilation-is-disabled","errorCode":null,"errorMessage":"{message}\ncompilation is disabled","messagePattern":"(.+?)\ncompilation is disabled","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/node.rs","lineNumber":148,"sourceCode":"                warn_patches_not_applied();\n                Ok(())\n            }\n            FetchOutcome::NotFound => {\n                if ctx.locked {\n                    if let Some(message) = node_flavor_not_found_message(opts) {\n                        bail!(\"{message}\\nlocked mode requires the locked precompiled artifact\")\n                    }\n                    bail!(\n                        \"precompiled node archive not found and locked mode requires the locked precompiled artifact\"\n                    )\n                } else if Settings::get().node_compile(CompilePurpose::Inspect) != Some(false) {\n                    if let Some(message) = node_flavor_not_found_message(opts) {\n                        warn!(\"{message}\");\n                    }\n                    self.install_compiling(ctx, tv, opts).await\n                } else {\n                    if let Some(message) = node_flavor_not_found_message(opts) {\n                        bail!(\"{message}\\ncompilation is disabled\")\n                    }\n                    bail!(\"precompiled node archive not found and compilation is disabled\")\n                }\n            }\n        }\n    }\n\n    async fn install_windows(\n        &self,\n        ctx: &InstallContext,\n        tv: &mut ToolVersion,\n        opts: &BuildOpts,\n    ) -> Result<()> {\n        match self\n            .fetch_binary(ctx, tv, opts, || self.extract_zip(opts, ctx))\n            .await?\n        {\n            FetchOutcome::Downloaded => {","sourceCodeStart":130,"sourceCodeEnd":166,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/plugins/core/node.rs#L130-L166","documentation":"When the node precompiled archive is not found, compilation is disabled (node_compile = false), and a flavor message exists, the error combines the flavor explanation with 'compilation is disabled', since no install path remains.","triggerScenarios":"Node flavor's precompiled archive missing AND settings set node compile to false, so neither the download nor the source-build fallback can proceed.","commonSituations":"Users who set NODE_COMPILE=false (or mise settings node.compile=false) for speed, then request a flavored/odd Node version with no published binary on their platform.","solutions":["Enable compilation (remove node.compile=false / unset NODE_COMPILE) so mise can build from source","Use a standard Node version with published precompiled builds for your platform","Drop the flavor and use official node builds"],"exampleFix":"# before (mise.toml)\n[settings]\nnode.compile = false\n\n# after\n[settings]\n# node.compile removed — allow source fallback","handlingStrategy":"fallback","validationCode":"# ensure compile isn't globally disabled when using flavored/odd node versions\nmise settings get node.compile; curl -sfIL \"https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.gz\"","typeGuard":null,"tryCatchPattern":"mise install node@X || { mise settings set node.compile true && mise install node@X; }","preventionTips":["Don't disable node compilation globally if you use flavored node versions","Confirm precompiled availability for the flavor/platform combo","Scope compile=false to specific environments rather than global settings"],"tags":["node","precompiled","compilation","flavor","configuration"],"backgroundTag":"unsupported-platform","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}