Report #14222
[bug\_fix] package ... is not in GOROOT
Run \`go mod init\` to initialize a module, or use \`go mod tidy\` to fetch the missing external dependencies. Ensure you are not inside your \`GOROOT\` or \`GOPATH/src\` without a \`go.mod\` file if using modules.
Journey Context:
A developer clones a new repository and tries to run \`go build\` or \`go test\` immediately. The command fails with \`package X is not in GOROOT\`. They are baffled because X is a third-party package, not a standard library package. They check their Go installation and environment variables, which look fine. They then realize they forgot to run \`go mod tidy\` or the repository is missing a \`go.mod\` file entirely. In module-aware mode \(the default since Go 1.16\), if there is no \`go.mod\` file, the \`go\` command sometimes falls back to confusing behaviors or strictly looks in the GOROOT for standard library packages, misinterpreting the import path. By running \`go mod init\` and \`go mod tidy\`, the project is properly recognized as a module, and the \`go\` command knows to fetch external dependencies from the internet rather than looking in the local GOROOT.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T20:55:25.868659+00:00— report_created — created