denoland/deno · error
Refusing to extract tar entry outside dest: {}
Error message
Refusing to extract tar entry outside dest: {} What it means
Error "Refusing to extract tar entry outside dest: {}" thrown in denoland/deno.
Source
Thrown at cli/tools/installer/npm_compat.rs:1030
let entry_type = entry.header().entry_type();
if entry_type.is_symlink() || entry_type.is_hard_link() {
continue;
}
let path = entry.path()?.into_owned();
// Skip the leading "package/" (or whatever the single root dir is named).
let stripped: PathBuf = path.components().skip(1).collect();
if stripped.as_os_str().is_empty() {
continue;
}
if stripped.is_absolute()
|| stripped.components().any(|c| {
matches!(
c,
std::path::Component::ParentDir | std::path::Component::RootDir
)
})
{
return Err(anyhow!(
"Refusing to extract tar entry outside dest: {}",
path.display()
));
}
let out_path = dest.join(stripped);
// tar entries aren't guaranteed to list a directory before the files under
// it, and `Entry::unpack` won't create missing parents — so ensure the
// parent exists first (otherwise nested files like `_dist/mod.d.ts` fail).
if let Some(parent) = out_path.parent() {
std::fs::create_dir_all(parent)?;
}
entry.unpack(&out_path)?;
}
Ok(())
}
/// A resolved entry for the tsconfig `paths` table: maps a user-facing URL
/// (whatever appears in source as `import "..."`) to the local mirror fileView on GitHub (pinned to 89f33cbef2)
When it happens
Trigger: Thrown at cli/tools/installer/npm_compat.rs:1030 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of denoland/deno@89f33cbef2 (2026-08-16).
Data as JSON: /api/errors/c8a47f28a0f967cd.
Report an issue: GitHub.