jdx/mise · error
{message} locked mode requires the locked precompiled artifa
Error message
{message}
locked mode requires the locked precompiled artifact What it means
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.
Source
Thrown at src/plugins/core/node.rs:136
ExtractionFormat::TarGz,
&ExtractOptions {
strip_components: 1,
pr: Some(ctx.pr.as_ref()),
..Default::default()
},
)?;
Ok(())
})
.await?
{
FetchOutcome::Downloaded => {
warn_patches_not_applied();
Ok(())
}
FetchOutcome::NotFound => {
if ctx.locked {
if let Some(message) = node_flavor_not_found_message(opts) {
bail!("{message}\nlocked mode requires the locked precompiled artifact")
}
bail!(
"precompiled node archive not found and locked mode requires the locked precompiled artifact"
)
} else if Settings::get().node_compile(CompilePurpose::Inspect) != Some(false) {
if let Some(message) = node_flavor_not_found_message(opts) {
warn!("{message}");
}
self.install_compiling(ctx, tv, opts).await
} else {
if let Some(message) = node_flavor_not_found_message(opts) {
bail!("{message}\ncompilation is disabled")
}
bail!("precompiled node archive not found and compilation is disabled")
}
}
}
}View on GitHub (pinned to afd2eddd3a)
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
Defensive patterns
Strategy: fallback
Validate before calling
# check the locked artifact exists upstream before locked install mise lock --update # or verify the asset URL returns 200
Try / catch
catch (e) {
if (String(e).includes("locked mode requires the locked precompiled artifact")) {
// re-lock or unlock and retry
}
} Prevention
- 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
When it happens
Trigger: `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.
Common situations: 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.
Related errors
- precompiled node archive not found and locked mode requires
- No lockfile URL found for {} on platform {} (--locked mode)
- {message}\ncompilation is disabled
- precompiled node archive not found and compilation is disabl
- pnpm lockfile dependency {name:?} has no resolvable version
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/95c449a5d8922daf.
Report an issue: GitHub.