tonhowtf/omniget · error
gallery-dl nao esta instalado
Error message
gallery-dl nao esta instalado
What it means
Dependency check failure in the gallery downloader: download() calls ensure_gallerydl() which locates (or installs) the gallery-dl binary; when that returns None the download aborts before creating the destination or spawning the process. It fires when gallery-dl cannot be found or provisioned — not installed, not on PATH, or its auto-install step failed.
Solutions
- Run the app's gallery install action (gallery::install) first
- Install gallery-dl manually: pip install gallery-dl, or grab the standalone exe into PATH
- Confirm `gallery-dl --version` works from a terminal with the same PATH
Defensive patterns
Strategy: fallback
Validate before calling
// check binary presence before downloading
let ok = which::which("gallery-dl").is_ok()
|| crate::core::dependencies::ensure_gallerydl().await.is_some(); Try / catch
match gallery::download(url, dest, cookies, progress).await {
Ok(r) => r,
Err(e) if e.to_string().contains("nao esta instalado") => {
gallery::install().await?;
gallery::download(url, dest, cookies, progress).await?
}
Err(e) => return Err(e),
} Prevention
- Run the install step once at first use instead of at download time
- Verify gallery-dl presence at app startup and prompt the user early
- Pin a known-good gallery-dl version in your install path
When it happens
Trigger: Calling download() when gallery-dl is absent from PATH and could not be downloaded/located automatically.
Common situations: User skipped the install step; gallery-dl uninstalled after install; PATH changed in the spawned environment; auto-download blocked offline.
Understand the failure class
Background: "not installed", "pip install", "required for": how missing-dependency errors surface across open-source libraries — this error's family across 34 libraries.
Related errors
- o ONNX Runtime ainda não está instalado. Instale pela tela…
- nao foi possivel baixar o gallery-dl para este sistema
- Download cancelled
- FFmpeg not found in Flatpak sandbox
- gallery-dl nao tem binario para este sistema
AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12).
Data as JSON: /api/errors/18957676d3355115.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/omniget-core/src/core/tools/gallery.rs:50
}
#[derive(Debug, Clone, Serialize)]
pub struct GalleryResult {
pub files: Vec<String>,
pub dest: String,
pub log_tail: String,
}
pub async fn download(
url: &str,
dest: &str,
cookies_file: Option<&str>,
progress: super::ProgressFn,
) -> anyhow::Result<GalleryResult> {
use tokio::io::{AsyncBufReadExt, BufReader};
let bin = crate::core::dependencies::ensure_gallerydl()
.await
.ok_or_else(|| anyhow!("gallery-dl nao esta instalado"))?;
std::fs::create_dir_all(dest)?;
let mut cmd = crate::core::process::command(&bin);
cmd.args(["-d", dest, "--write-metadata"]);
if let Some(c) = cookies_file.filter(|c| !c.trim().is_empty()) {
cmd.args(["--cookies", c]);
}
cmd.arg(url)
.stdin(std::process::Stdio::null())
.stdout(std::process::Stdio::piped())
.stderr(std::process::Stdio::piped());
let mut child = cmd
.spawn()
.map_err(|e| anyhow!("nao foi possivel iniciar o gallery-dl: {}", e))?;
let stdout = child.stdout.take();
let stderr = child.stderr.take();
let id = format!("gallery:{}", url);
let p2 = progress.clone();
let id2 = id.clone();View on GitHub (pinned to 8600b91f42)