DioxusLabs/dioxus · error · anyhow::Error
No .app bundle found to package into a DMG
Error message
No .app bundle found to package into a DMG
What it means
bundle_macos_dmg found no .app bundle paths to package — neither from a prior MacOsBundle bundle nor from building one on demand. A DMG wraps an .app, so an empty list means the earlier stage failed and the bundler bails.
Source
Thrown at packages/cli/src/bundler/macos.rs:280
let macos_settings = self.macos();
let bundle_name = macos_settings
.bundle_name
.as_deref()
.unwrap_or(&product_name);
let (app_paths, app_bundle_paths) = if let Some(app_bundle) = bundles
.iter()
.find(|b| b.package_type == PackageType::MacOsBundle)
{
(app_bundle.bundle_paths.clone(), Vec::new())
} else {
let paths = self.bundle_macos_app().await?;
(paths.clone(), paths)
};
if app_paths.is_empty() {
bail!("No .app bundle found to package into a DMG");
}
let app_path = &app_paths[0];
if !app_path.exists() {
bail!(
".app bundle does not exist at expected path: {}",
app_path.display()
);
}
let output_dir = self.project_out_directory().join("macos");
fs::create_dir_all(&output_dir)?;
let dmg_filename = format!(
"{}_{}_{}",
bundle_name,
self.version_string(),
self.binary_arch()View on GitHub (pinned to 24f6a829df)
Solutions
- No .app bundle exists to package. Build the macOS app before creating a DMG.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/cli/src/bundler/macos.rs:280 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of DioxusLabs/dioxus@24f6a829df (2026-08-23).
Data as JSON: /api/errors/bd675575fc7bdf41.
Report an issue: GitHub.