{"record":{"id":"02e79b1830d7132e","repo":"denoland/deno","slug":"no-installation-found-for","errorCode":null,"errorMessage":"No installation found for {}","messagePattern":"No installation found for (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/tools/installer/global.rs","lineNumber":271,"sourceCode":"  // ensure directory exists\n  if let Ok(metadata) = fs::metadata(&installation_dir)\n    && !metadata.is_dir()\n  {\n    return Err(anyhow!(\"Installation path is not a directory\"));\n  }\n\n  for name in &uninstall_flags.packages {\n    let file_path = installation_dir.join(name);\n\n    let mut removed = remove_file_if_exists(&file_path)?;\n\n    if cfg!(windows) {\n      removed |= remove_file_if_exists(&file_path.with_extension(\"cmd\"))?;\n      removed |= remove_file_if_exists(&file_path.with_extension(\"exe\"))?;\n    }\n\n    if !removed {\n      return Err(anyhow!(\"No installation found for {}\", name));\n    }\n\n    // There might be some extra files to delete\n    // Note: tsconfig.json is legacy. We renamed it to deno.json in January 2023.\n    // Note: deno.json and lock.json files were removed Feb 2026 in favor of a sub directory\n    // Use the base file path (without extension) to compute related files\n    let base_file = installation_dir.join(name);\n    for ext in [\"tsconfig.json\", \"deno.json\", \"lock.json\"] {\n      // remove the plain extension files (e.g., name.deno.json, name.lock.json)\n      let file_path_ext = base_file.with_extension(ext);\n      remove_file_if_exists(&file_path_ext)?;\n\n      // also remove the hidden per-command copies created at install time\n      // (e.g., .name.deno.json)\n      let hidden_file = get_hidden_file_with_ext(&base_file, ext);\n      remove_file_if_exists(&hidden_file)?;\n\n      // On Windows, installs use a shim with a .cmd extension, which means the","sourceCodeStart":253,"sourceCodeEnd":289,"githubUrl":"https://github.com/denoland/deno/blob/89f33cbef296a2b287f323d42de54c871fa69c77/cli/tools/installer/global.rs#L253-L289","documentation":"Error \"No installation found for {}\" thrown in denoland/deno.","triggerScenarios":"Thrown at cli/tools/installer/global.rs:271 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"89f33cbef296a2b287f323d42de54c871fa69c77","analyzedAt":"2026-08-16T07:54:21.310Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}