Report #93511
[bug\_fix] go: github.com/foo/[email protected]: reading github.com/foo/bar/go.mod at revision v0.0.0: unknown revision v0.0.0
Remove the \`replace\` directive pointing to a local path from \`go.mod\` before pushing to version control, and ensure the dependency is fetched via its proper remote repository and version tag.
Journey Context:
A developer uses a \`replace\` directive in \`go.mod\` to point to a local copy of a dependency \(\`replace github.com/foo/bar => ../bar\`\) to test a bug fix locally. Everything works perfectly. They commit the \`go.mod\` and push to the remote repository. The CI pipeline fails trying to fetch \`../bar\` or attempting to resolve a pseudo-version that doesn't exist remotely. The root cause is that \`replace\` directives are evaluated by the Go toolchain wherever the code is built. When CI checks out the code, the relative path \`../bar\` does not exist in the CI workspace. The Go toolchain falls back to resolving the original module path and version, which might be a pseudo-version generated locally that was never pushed to the remote. The fix is to remove the local \`replace\` directive before committing, or use a proper tagged version of the dependency once the upstream fix is merged.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T15:32:40.925848+00:00— report_created — created