Report #83892
[bug\_fix] package is not in GOROOT \(/usr/local/go/src/\)
Ensure \`GO111MODULE=on\` is set in the environment, or correct the import path \(e.g., use \`context\` instead of \`golang.org/x/net/context\`\).
Journey Context:
A developer clones an older repository and runs \`make build\`, which invokes a legacy Makefile. The build fails, claiming a standard package like \`context\` or a third-party package is not in GOROOT. The developer checks their Go installation, reinstalls Go, and manually inspects \`/usr/local/go/src\`, but the package isn't there. The rabbit hole leads to the Makefile, which explicitly sets \`GO111MODULE=off\`. With modules disabled, Go reverts to GOPATH mode. In GOPATH mode, it only looks for packages in the standard library \(GOROOT\) or the workspace \(GOPATH/src\). Since modern third-party dependencies are managed by modules and aren't in GOPATH, the compiler can't find them. Furthermore, packages like \`context\` were moved into the standard library in Go 1.7, but older code might import \`golang.org/x/net/context\`. The fix is to remove \`GO111MODULE=off\` from the Makefile, allowing Go to default to module mode \(\`on\`\), where it reads \`go.mod\` and fetches dependencies correctly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T23:23:54.684628+00:00— report_created — created