{"record":{"id":"4b69839985808dde","repo":"jdx/mise","slug":"no-matching-swiftpm-artifact-bundle-found-for","errorCode":null,"errorMessage":"No matching SwiftPM artifact bundle found for {}","messagePattern":"No matching SwiftPM artifact bundle found for (.+?)","errorType":"exception","errorClass":"eyre::Report","httpStatus":null,"severity":"error","filePath":"src/backend/spm.rs","lineNumber":280,"sourceCode":"            artifactbundle_mode,\n            Settings::get().spm.artifactbundle_only,\n            &tv.version,\n        )? {\n            let artifactbundle_required = opts.requires_artifactbundle(artifactbundle_mode);\n            match self\n                .try_install_artifactbundle(\n                    ctx,\n                    &mut tv,\n                    &provider,\n                    &repo,\n                    revision.as_str(),\n                    &opts,\n                )\n                .await\n            {\n                Ok(true) => return Ok(tv),\n                Ok(false) if artifactbundle_required => {\n                    bail!(\n                        \"No matching SwiftPM artifact bundle found for {}\",\n                        repo.shorthand\n                    );\n                }\n                Ok(false) if Settings::get().spm.artifactbundle_only => {\n                    bail!(\n                        \"No matching SwiftPM artifact bundle found for {}, but spm.artifactbundle_only is set\",\n                        repo.shorthand\n                    );\n                }\n                Ok(false) => {}\n                Err(err) if artifactbundle_required => return Err(err),\n                Err(err) if Settings::get().spm.artifactbundle_only => return Err(err),\n                Err(err) => {\n                    debug!(\n                        \"SwiftPM artifact bundle install failed, falling back to source build: {err:?}\"\n                    );\n                }","sourceCodeStart":262,"sourceCodeEnd":298,"githubUrl":"https://github.com/jdx/mise/blob/6f52dcdf99e282ef7a7db68c81301fa4618d0f79/src/backend/spm.rs#L262-L298","documentation":"The spm backend tried to install a SwiftPM artifact bundle from the release assets but found no match, and source build is not allowed: `artifactbundle = true` (Required mode) or an `artifactbundle_asset` is configured, which makes the bundle mandatory. Instead of silently falling back to a source build, mise aborts.","triggerScenarios":"`[tools.\"spm:owner/repo\"] version = \"1.2.3\", artifactbundle = true` where the 1.2.3 GitHub release has no *.artifactbundle.zip asset matching the platform; or `artifactbundle_asset = \"Repo.artifactbundle.zip\"` naming an asset that does not exist in the release.","commonSituations":"A project ships bundles only for macOS while you run Linux, older releases predate artifact bundles, asset naming changed, or a typo'd artifactbundle_asset.","solutions":["Drop `artifactbundle = true` (and any artifactbundle_asset) to let mise fall back to building from source","Bump to a release that actually ships an .artifactbundle.zip for your platform (check the release's asset list)","Fix the artifactbundle_asset name to exactly match an existing asset ending in .artifactbundle.zip","If you must stay on this version without bundles, accept the source build by removing the required mode"],"exampleFix":"# before\n[tools.\"spm:apple/swift-format\"]\nversion = \"0.50.0\"\nartifactbundle = true\n\n# after\n[tools.\"spm:apple/swift-format\"]\nversion = \"600.0.0\"\nartifactbundle = true","handlingStrategy":"fallback","validationCode":"gh release view <tag> --repo owner/repo --json assets -q '.assets[].name' | grep -i artifactbundle.zip # confirm a bundle exists for your platform before pinning + artifactbundle = true","typeGuard":null,"tryCatchPattern":"mise install \"spm:owner/repo@1.2.3\" || mise install \"spm:owner/repo@1.3.0\" # bump to a release with bundles, or drop artifactbundle=true for source fallback","preventionTips":["Check the release asset list before setting artifactbundle = true on a pinned version","Don't require bundles for cross-platform configs; Linux releases often lack macOS bundles","Set artifactbundle = true only on versions you've verified ship bundles"],"tags":["spm","swift","release-assets","github","mise-toml"],"backgroundTag":"missing-release-asset","analyzedSha":"6f52dcdf99e282ef7a7db68c81301fa4618d0f79","analyzedAt":"2026-08-22T10:14:23.840Z","schemaVersion":2},"datasetVersion":"2026-08-30T08:17:16.595Z"}