Report #586
[bug\_fix] module path mismatch: go.mod declares module "github.com/old/path", but imports reference "github.com/new/path/pkg"
Edit go.mod so the module directive matches the canonical import path of the repository. If the repo was renamed, run \`go mod edit -module=github.com/new/path\` and update every internal import to use the new module path as a prefix. Then run \`go mod tidy\` to rewrite go.sum and drop stale require blocks. Do not rely on replace directives to patch the mismatch permanently.
Journey Context:
You clone a teammate's fork or rename a module after a repo migration. \`go build\` fails immediately with \`module declares its path as X but was required as Y\`. You try \`go get\`ing the package, but Go refuses because the module's declared identity does not match the import. You grep the codebase and find the old path in dozens of files. A \`replace github.com/old/path => ../old-path\` in go.mod silences the error locally, but CI still fails because it clones fresh. You realize \`replace\` is only a local override, not a fix. You run \`go mod edit -module=github.com/new/path\`, rewrite the imports with \`sed\`/\`gofmt\`, and \`go mod tidy\`. The build succeeds because Go now sees a consistent module graph: every package's import path resolves through the module declaration and the same major-version path.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T09:56:25.105968+00:00— report_created — created