# 'go work sync' must write go.sum files that are complete for each module on # its own, including the go.mod hashes of the versions it upgrades to. go -C a mod tidy go -C b mod tidy grep '^rsc.io/quote v1.0.0/go.mod ' b/go.sum # go work sync upgrades b to quote v1.1.0, which a already uses. go work sync grep '^rsc.io/quote v1.1.0 h1:' b/go.sum grep '^rsc.io/quote v1.1.0/go.mod ' b/go.sum # ... so b still builds outside the workspace. env GOWORK=off go -C b build ./... -- go.work -- go 1.21 use ( ./a ./b ) -- a/go.mod -- module example.com/a go 1.21 require rsc.io/quote v1.1.0 -- a/a.go -- package a import _ "rsc.io/quote" -- b/go.mod -- module example.com/b go 1.21 require rsc.io/quote v1.0.0 -- b/b.go -- package b import _ "rsc.io/quote"