Isu timbul apabila cuba membina projek Go, dan ralat berikut muncul: "projek/permainan pakej tiada dalam GOROOT (C:Gosrcprojectgame)".
Ralat ini biasanya berlaku apabila:
1. Konfigurasikan Pembolehubah Persekitaran
Jika anda menaik taraf kepada versi Go yang lebih baharu (1.13 ), pembolehubah persekitaran seperti GOROOT, GOBIN dan GOPATH tidak lagi disyorkan.
2. Betulkan Struktur Projek
Pastikan projek anda mempunyai fail go.mod pada akar projek dan struktur direktori berikut:
|- project |- game |- entity |- game_stuff.go |- server
3. Gunakan go mod
Daripada bergantung pada pembolehubah persekitaran, gunakan Go Modules (go mod) untuk mengurus kebergantungan modul.
cd project go mod init remote-repo.com/username/repository
4. Jalankan Perintah daripada Akar Modul
Arahan hendaklah dilaksanakan daripada direktori akar projek. Contohnya:
go run server
5. Tentukan Laluan Modul Penuh
Apabila menggunakan arahan go, terutamanya dari luar akar modul, nyatakan laluan pakej penuh, yang termasuk URI vendor. Contohnya:
go test github.com/username/repository/project/game/entity
6. Tetapkan GOPATH Jika Perlu (Pilihan)
Untuk versi Go yang lebih lama, anda boleh menetapkan GOPATH kepada laluan ruang kerja di mana projek anda berada. Pastikan GOPATH menunjuk ke laluan yang betul.
GOPATH=C:\Users\username\go
Contoh
Untuk membina pakej pelayan dalam struktur direktori yang disediakan:
cd project/server go build project/server
Arahan ini sepatutnya berjaya membina pakej pelayan tanpa ralat "pakej XXX tiada dalam GOROOT".
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'pakej XXX tiada dalam GOROOT' Semasa Membina Projek My Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!