Report #15033
[bug\_fix] go: @ used for multiple different module paths
Remove conflicting \`replace\` directives or ensure that a single module path is not being required under two different names/paths in the \`go.mod\` file.
Journey Context:
A developer adds a \`replace\` directive in \`go.mod\` to point a dependency to a local fork for debugging. Later, they update another dependency that transitively requires the original, non-forked version of that same dependency. The build fails with 'used for multiple different module paths'. They investigate the dependency graph using \`go mod graph\` and realize their \`replace\` directive is creating a conflict where the import path resolves to two distinct module instances. They remove the local \`replace\` directive, allowing Minimal Version Selection \(MVS\) to resolve the dependency uniformly. The fix works because Go's module system strictly enforces the 'Import Compatibility Rule', requiring that a given module path maps to exactly one module instance.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T22:57:25.610150+00:00— report_created — created