Report #6586
[bug\_fix] go: github.com/foo/[email protected]: invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2
The dependency author must update their go.mod file to append the major version suffix \(e.g., module github.com/foo/bar/v2\). Consumers must then import the package using the /v2 suffix in their import statements and go get commands.
Journey Context:
A developer tries to upgrade a dependency to its new major version by running go get github.com/foo/[email protected]. The download succeeds, but go build fails with an invalid version error. They try replacing the module, using different import aliases, or downgrading back to v1, stuck in a loop. The root cause is Go's Semantic Import Versioning rule: any module with a major version of 2 or higher MUST include the major version number in its module path. If the upstream go.mod just says module github.com/foo/bar but is tagged v2.0.0, the Go toolchain rejects it as incompatible. The fix cannot be applied locally by the consumer; the upstream library must fix their go.mod and release a new tag \(e.g., v2.0.1\), after which the consumer imports it as github.com/foo/bar/v2.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T00:23:25.287985+00:00— report_created — created