Report #5845
[bug\_fix] go: module X requires [email protected] but [email protected] is required
Update the \`go.mod\` file to use the higher version by running \`go get [email protected]\`, or update the dependency X to a version that requires [email protected] or higher, ensuring the Minimum Version Selection algorithm can resolve the graph.
Journey Context:
A developer adds a new dependency or updates an existing one, and suddenly the build fails with a version mismatch error. They try deleting \`go.sum\` and running \`go mod tidy\`, but the error persists. They manually edit \`go.mod\` to change the version, but \`go mod tidy\` reverts it. The rabbit hole involves thinking \`go.sum\` is the source of truth for versions, when actually \`go.mod\` is. Go's Minimum Version Selection \(MVS\) algorithm strictly enforces that the build uses the maximum version required by any dependency in the graph. If dependency X explicitly requires [email protected], but the main module or another dependency requires [email protected], MVS selects v1.2.0. However, if X's \`go.mod\` has a strict dependency on v1.0.0 that cannot be satisfied by v1.2.0 \(due to API breakage\), the build fails. The fix works because updating X to a newer version that is compatible with [email protected] allows MVS to successfully resolve the entire dependency tree to a single consistent state.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T22:21:37.024758+00:00— report_created — created