{"record":{"id":"5ecddd6694d119b7","repo":"nikivdev/code","slug":"package-name-is-missing-owner-expected-owner","errorCode":null,"errorMessage":"package name '{}' is missing owner (expected owner/repo).\nSet FLOW_INSTALL_OWNER (env or Flow personal env store), use a known alias (flow/rise), or pass owner/repo directly.","messagePattern":"package name '(.+?)' is missing owner \\(expected owner/repo\\)\\.\nSet FLOW_INSTALL_OWNER \\(env or Flow personal env store\\), use a known alias \\(flow/rise\\), or pass owner/repo directly\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/install.rs","lineNumber":314,"sourceCode":"        println!(\"Add {} to PATH to use it everywhere.\", bin_dir.display());\n    }\n    Ok(())\n}\n\nfn resolve_owner_repo(raw: &str) -> Result<String> {\n    if raw.contains('/') {\n        return Ok(raw.to_string());\n    }\n\n    if let Some(mapped) = known_owner_repo(raw) {\n        return Ok(mapped.to_string());\n    }\n\n    // Prefer explicit env var; fall back to Flow personal env store.\n    let owner = resolve_install_owner();\n\n    let Some(owner) = owner else {\n        bail!(\n            \"package name '{}' is missing owner (expected owner/repo).\\nSet FLOW_INSTALL_OWNER (env or Flow personal env store), use a known alias (flow/rise), or pass owner/repo directly.\",\n            raw\n        );\n    };\n\n    Ok(format!(\"{}/{}\", owner, raw))\n}\n\nfn should_try_parm(opts: &InstallOpts) -> bool {\n    let Some(name) = opts\n        .name\n        .as_deref()\n        .map(str::trim)\n        .filter(|n| !n.is_empty())\n    else {\n        return false;\n    };\n    name.contains('/') || known_owner_repo(name).is_some() || resolve_install_owner().is_some()","sourceCodeStart":296,"sourceCodeEnd":332,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/install.rs#L296-L332","documentation":"Error \"package name '{}' is missing owner (expected owner/repo).\nSet FLOW_INSTALL_OWNER (env or Flow personal env store), use a known alias (flow/rise), or pass owner/repo directly.\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/install.rs:314 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":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}