BurntSushi/ripgrep · error · CommandError
system PATH environment variable not found
Error message
system PATH environment variable not found
What it means
Error "system PATH environment variable not found" thrown in BurntSushi/ripgrep.
Source
Thrown at crates/cli/src/decompress.rs:464
/// If `check_exists` is false or the path is already an absolute path this
/// will return immediately.
fn try_resolve_binary<P: AsRef<Path>>(
prog: P,
) -> Result<PathBuf, CommandError> {
use std::env;
fn is_exe(path: &Path) -> bool {
let Ok(md) = path.metadata() else { return false };
!md.is_dir()
}
let prog = prog.as_ref();
if prog.is_absolute() {
return Ok(prog.to_path_buf());
}
let Some(syspaths) = env::var_os("PATH") else {
let msg = "system PATH environment variable not found";
return Err(CommandError::io(io::Error::new(
io::ErrorKind::Other,
msg,
)));
};
for syspath in env::split_paths(&syspaths) {
if syspath.as_os_str().is_empty() {
continue;
}
let abs_prog = syspath.join(prog);
if is_exe(&abs_prog) {
return Ok(abs_prog.to_path_buf());
}
if abs_prog.extension().is_none() {
for extension in ["com", "exe"] {
let abs_prog = abs_prog.with_extension(extension);
if is_exe(&abs_prog) {
return Ok(abs_prog.to_path_buf());
}View on GitHub (pinned to 3fce3b5bb0)
Solutions
- Set the PATH environment variable before running the command
- Ensure the environment is not stripped (e.g. by env -i or a minimal service environment)
When it happens
Trigger: Thrown at crates/cli/src/decompress.rs:464 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BurntSushi/ripgrep@3fce3b5bb0 (2026-08-06).
Data as JSON: /data/errors/29409a4e8b572324.json.
Report an issue: GitHub.