Das Problem tritt auf, wenn versucht wird, ein Go-Projekt zu erstellen, und Es erscheint die folgende Fehlermeldung: „Paketprojekt/Spiel ist nicht in GOROOT (C:Gosrcprojectgame)“.
Dieser Fehler tritt normalerweise auf, wenn:
1. Umgebungsvariablen konfigurieren
Wenn Sie auf eine neuere Go-Version (1.13) aktualisiert haben, werden Umgebungsvariablen wie GOROOT, GOBIN und GOPATH nicht mehr empfohlen.
2. Richtige Projektstruktur
Stellen Sie sicher, dass Ihr Projekt eine go.mod-Datei im Projektstammverzeichnis und die folgende Verzeichnisstruktur hat:
|- project |- game |- entity |- game_stuff.go |- server
3. Verwenden Sie go mod
Anstatt sich auf Umgebungsvariablen zu verlassen, verwenden Sie Go Modules (go mod), um Modulabhängigkeiten zu verwalten.
cd project go mod init remote-repo.com/username/repository
4. Befehle vom Modulstammverzeichnis ausführen
Befehle sollten vom Projektstammverzeichnis aus ausgeführt werden. Zum Beispiel:
go run server
5. Geben Sie vollständige Modulpfade an
Wenn Sie Go-Befehle verwenden, insbesondere von außerhalb des Modulstamms, geben Sie den vollständigen Paketpfad an, der den Hersteller-URI enthält. Zum Beispiel:
go test github.com/username/repository/project/game/entity
6. Legen Sie GOPATH bei Bedarf fest (optional)
Für ältere Go-Versionen können Sie GOPATH optional auf den Arbeitsbereichspfad festlegen, in dem sich Ihr Projekt befindet. Stellen Sie sicher, dass GOPATH auf den richtigen Pfad zeigt.
GOPATH=C:\Users\username\go
Beispiel
So erstellen Sie das Serverpaket in der bereitgestellten Verzeichnisstruktur:
cd project/server go build project/server
Dieser Befehl sollte das Serverpaket erfolgreich erstellen, ohne dass der Fehler „Paket XXX ist nicht in GOROOT“ auftritt.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen meines Go-Projekts die Fehlermeldung „Paket XXX ist nicht in GOROOT'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!