Report #66600
[bug\_fix] package ... is not in GOROOT \(/usr/local/go/src/...\)
Ensure \`GO111MODULE\` is not set to \`off\` \(preferably unset or \`auto\`/\`on\`\), and ensure a \`go.mod\` file exists in the project root.
Journey Context:
A developer working on a legacy Go project that was recently migrated to modules, or whose shell has an old \`GO111MODULE=off\` export from pre-modules days, tries to build. The compiler looks for the package in the standard library \(\`GOROOT\`\) instead of fetching it as a module. The developer is confused because the package clearly isn't a standard library package. They might try manually downloading the package or messing with \`GOPATH\`. The root cause is that when \`GO111MODULE=off\`, the Go toolchain operates in the old \`GOPATH\` mode, ignoring \`go.mod\` and resolving all imports relative to \`$GOPATH/src\` or \`$GOROOT\`. Setting \`GO111MODULE=on\` \(or leaving it unset in Go 1.16\+\) forces the toolchain to read \`go.mod\` and resolve dependencies via the module mirror.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T18:15:57.291512+00:00— report_created — created