Heim >Backend-Entwicklung >Golang >Warum erhalte ich beim Erstellen meines Go-Projekts die Fehlermeldung „Paket XXX ist nicht in GOROOT'?

Warum erhalte ich beim Erstellen meines Go-Projekts die Fehlermeldung „Paket XXX ist nicht in GOROOT'?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 12:18:10451Durchsuche

Why Am I Getting the

„Paket XXX ist nicht in GOROOT“ beim Erstellen eines Go-Projekts

Kontext

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)“.

Root Ursache

Dieser Fehler tritt normalerweise auf, wenn:

  • die Umgebungsvariablen GOROOT, GOPATH und GOBIN nicht richtig eingestellt sind.
  • Das Go-Projekt ist nicht richtig strukturiert.
  • Die go.mod-Datei fehlt oder ist nicht im Projekt root.

Auflösung

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn