خطأ "package XXX is not in GOROOT" عند بناء مشروع Go
مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت خطأ غير مفهوم. أنشأت مشروعاً بسيطاً، هيكله كالتالي:
```
myapp/
├── main.go
└── utils/
└── helper.go
```
في `main.go`، أستورد الحزمة الخاصة بي:
```go
package main
import "myapp/utils"
func main() {
utils.SayHello()
}
```
وفي `utils/helper.go`:
```go
package utils
import "fmt"
func SayHello() {
fmt.Println("Hello from utils!")
}
```
أحاول بناء المشروع: `go build main.go` — وأحصل على:
```
main.go:3:8: package myapp/utils is not in GOROOT (/usr/local/go/src/myapp/utils)
```
إصدار Go هو 1.21، قمت بتثبيته عبر المثبت الرسمي. المشروع موجود في `~/projects/myapp`. لم أقم بتعيين متغير `GOPATH`. جربت تشغيل `go env -w GO111MODULE=off`، لكن ظهر خطأ آخر حول عدم وجود الحزمة في GOPATH. ما الذي أفعله بشكل خاطئ؟ هل يجب إنشاء ملف go.mod؟ أم أنني أستورد الحزم الداخلية بشكل غير صحيح؟ سأكون ممتناً لشرح مفصل حول كيفية التنظيم الصحيح.