{"record":{"id":"95c449a5d8922daf","repo":"jdx/mise","slug":"message-locked-mode-requires-the-locked-precompi","errorCode":null,"errorMessage":"{message}\nlocked mode requires the locked precompiled artifact","messagePattern":"(.+?)\nlocked mode requires the locked precompiled artifact","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/node.rs","lineNumber":136,"sourceCode":"                    ExtractionFormat::TarGz,\n                    &ExtractOptions {\n                        strip_components: 1,\n                        pr: Some(ctx.pr.as_ref()),\n                        ..Default::default()\n                    },\n                )?;\n                Ok(())\n            })\n            .await?\n        {\n            FetchOutcome::Downloaded => {\n                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    }","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/plugins/core/node.rs#L118-L154","documentation":"When Node's precompiled archive could not be found and mise is in locked mode (a mise.lock exists / locked install), falling back to compilation is forbidden — locked installs must produce exactly the locked artifact. mise throws this with the flavor-specific not-found message (if the flavor explains it) appended by the locked-mode requirement line. Thrown in install_precompiled on FetchOutcome::NotFound when node_flavor_not_found_message returns Some.","triggerScenarios":"`mise install node` with locked mode active, the locked Node version/flavor has no precompiled archive available upstream (e.g. unofficial builds/flavors like node-org-builds, recent version without assets yet, or unsupported platform), and a flavor message is generated.","commonSituations":"Newly released Node version whose binaries aren't published yet in CI; node flavor configs (e.g. specific vendors) with no published artifact for the platform; offline/restricted networks making the artifact lookup fail while locked.","solutions":["Run `mise lock` (or unlock) to refresh the lockfile once the artifact is published upstream","Choose a Node version whose locked artifact is actually published for your platform","If you don't need locked reproducibility, unlock or remove the lock entry to allow source compilation","Check the flavor message for specifics and switch to the standard Node distribution if the flavor is discontinued"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"# check the locked artifact exists upstream before locked install\nmise lock --update  # or verify the asset URL returns 200","typeGuard":null,"tryCatchPattern":"catch (e) {\n  if (String(e).includes(\"locked mode requires the locked precompiled artifact\")) {\n    // re-lock or unlock and retry\n  }\n}","preventionTips":["Refresh mise.lock before installing freshly released Node versions","Confirm the node flavor publishes assets for your platform","Avoid locked installs on platforms lacking published binaries"],"tags":["node","locked-mode","lockfile","precompiled"],"backgroundTag":"artifact-not-found","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"}