Report #46132
[bug\_fix] package ... is not in GOROOT when building a project outside of GOPATH
Initialize a Go module using \`go mod init\` or set the environment variable \`GO111MODULE=on\` to enable module-aware mode.
Journey Context:
A developer clones a repository that lacks a \`go.mod\` file into an arbitrary directory outside their GOPATH. When they run \`go build\`, it fails with \`package myproject is not in GOROOT\`. They check their Go installation and environment variables, confused why Go is looking in GOROOT for their project. They try moving the project to \`$GOPATH/src\`, which works, but they want to build it anywhere. The rabbit hole reveals that without a \`go.mod\` file, and depending on the Go version or \`GO111MODULE\` setting, Go defaults to GOPATH mode. In GOPATH mode, imports are resolved relative to GOPATH or GOROOT. Running \`go mod init\` creates a \`go.mod\` file, which explicitly activates module mode, allowing the project to be built from any directory and properly resolving its dependencies.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T07:54:36.657647+00:00— report_created — created