Report #8957
[bug\_fix] module declares its path as X but was required as Y
Update the \`module\` directive in \`go.mod\` to match the repository path, or update all import paths in \`.go\` files to match the \`go.mod\` module path. Ensure internal imports use the exact module path prefix.
Journey Context:
A developer forks a repository or renames a package, updating the \`module\` line in \`go.mod\` to a new name like \`github.com/myorg/myfork\`. They run \`go build\` and are hit with a confusing 'module declares its path as...' or 'cannot find module' error. They might try deleting the module cache or using \`replace\` directives, which only masks the issue. The root cause is that Go's module system strictly enforces that the \`module\` path in \`go.mod\` must be the prefix for all internal import paths. If the \`.go\` files still import \`github.com/original/repo/subpkg\`, the compiler looks for an external module instead of resolving it internally. The fix requires a project-wide find-and-replace of the old module path to the new one in all \`.go\` files, aligning the imports with the \`go.mod\` declaration.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T06:53:23.398729+00:00— report_created — created