Report #10724
[bug\_fix] package example.com/myproject is not in GOROOT \(/usr/local/go/src/example.com/myproject\)
Initialize a Go module in the project directory by running \`go mod init example.com/myproject\`.
Journey Context:
A developer starts a new project by creating a directory and a \`main.go\` file. They add an import for a local package they just created in a subdirectory. When they run \`go build\`, it fails with 'package ... is not in GOROOT'. They go down a rabbit hole of checking their \`GOPATH\`, \`GOROOT\`, and reinstalling Go, thinking their installation is broken. The real root cause is that without a \`go.mod\` file, the Go toolchain operates in a legacy mode \(or fails entirely in Go 1.16\+\) and tries to resolve all imports as standard library packages within GOROOT. Running \`go mod init\` creates the module definition, switching the project to module-aware mode and allowing local imports to resolve correctly. It works because module-aware mode uses the \`module\` path in \`go.mod\` as the root for resolving local imports, completely bypassing the GOROOT/GOPATH resolution logic that caused the error.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T11:24:18.693203+00:00— report_created — created