Report #24966
[bug\_fix] go: found packages main \(main.go\) and utils \(utils.go\) in /path/to/dir
Ensure all .go files in the same directory declare the exact same package name, or move files with different package declarations into separate subdirectories.
Journey Context:
A developer creates a utility file \`utils.go\` in their project root alongside \`main.go\`. They declare it as \`package utils\` thinking it will act like a namespace. When they run \`go build\`, it fails with a found packages main and utils error. The developer is puzzled because in many other languages, multiple namespaces can coexist in the same folder. However, Go strictly enforces a 1:1 mapping between directories and packages. All .go files within a single directory must belong to the same package. The compiler detects the conflicting package declarations and refuses to proceed to prevent ambiguous symbol resolution. The fix is to change \`package utils\` to \`package main\` \(making the functions accessible directly\), or move \`utils.go\` into a \`utils/\` subdirectory and import it as \`myapp/utils\`.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:18:43.471495+00:00— report_created — created