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

  1. 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.