Report #79274
[bug\_fix] go: module X found, but does not contain package X/Y
Update the module version in \`go.mod\` to a version that contains the sub-package, typically by running \`go get X@main\` or \`go get X@latest\` to resolve to a pseudo-version with the new code.
Journey Context:
A developer adds \`import "X/Y"\` to their code and runs \`go mod tidy\`. It fails, stating the module \`X\` doesn't contain package \`X/Y\`. They check GitHub and clearly see the \`Y\` directory exists in the repository. They try \`go get X/Y@latest\`, but the error persists. The rabbit hole leads them to check their \`go.mod\` and they notice the \`require\` directive for \`X\` points to an older tagged release \(e.g., \`v1.0.0\`\). The root cause is that the Go module system resolves dependencies based on semantic versioning and tagged releases. The \`Y\` package was added after \`v1.0.0\` in an untagged commit. The fix works because explicitly requesting the latest commit \(\`@main\`\) updates \`go.mod\` with a pseudo-version \(e.g., \`v1.0.1-0.20231025...\`\), which includes the new sub-package \`Y\`, allowing the compiler to find the files.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T15:39:16.816780+00:00— report_created — created