Die Umgebungsvariable GOPATH listet Orte auf, an denen nach Go-Code gesucht werden soll. Unter Unix ist der Wert eine durch Doppelpunkte getrennte Zeichenfolge. Unter Windows ist der Wert eine durch Semikolons getrennte Zeichenfolge. In Plan 9 ist der Wert eine Liste.
Wenn die Umgebungsvariable nicht festgelegt ist, verwendet GOPATH standardmäßig ein Unterverzeichnis mit dem Namen "go" im Home-Verzeichnis des Benutzers ($ HOME / go unter Unix,% USERPROFILE% \ go unter Windows), es sei denn, dieses Verzeichnis enthält eine Go-Distribution. Führen Sie "go env GOPATH" aus, um den aktuellen GOPATH anzuzeigen.
Unter https://golang.org/wiki/SettingGOPATH können Sie einen benutzerdefinierten GOPATH festlegen.
Jedes in GOPATH aufgeführte Verzeichnis muss eine vorgeschriebene Struktur haben:
Das src-Verzeichnis enthält den Quellcode. Der Pfad unter src bestimmt den Importpfad oder den Namen der ausführbaren Datei.
Das pkg-Verzeichnis enthält installierte Paketobjekte. Wie im Go-Baum hat jedes Zielbetriebssystem- und Architekturpaar ein eigenes Unterverzeichnis von pkg (pkg / GOOS_GOARCH).
Wenn DIR ein im GOPATH aufgeführtes Verzeichnis ist, kann ein Paket mit der Quelle in DIR / src / foo / bar als "foo / bar" importiert werden und das kompilierte Formular wird in "DIR / pkg / GOOS_GOARCH / foo / bar.a" installiert ".
Das bin-Verzeichnis enthält kompilierte Befehle. Jeder Befehl wird nach seinem Quellverzeichnis benannt, aber nur nach dem letzten Element, nicht nach dem gesamten Pfad. Das heißt, der Befehl mit der Quelle in DIR / src / foo / quux wird in DIR / bin / quux installiert, nicht in DIR / bin / foo / quux. Das Präfix "foo /" wird entfernt, damit Sie Ihrem PATH DIR / bin hinzufügen können, um zu den installierten Befehlen zu gelangen. Wenn die Umgebungsvariable GOBIN festgelegt ist, werden Befehle in dem Verzeichnis installiert, das sie anstelle von DIR / bin benennt. GOBIN muss ein absoluter Pfad sein.
Hier ist ein Beispiel für ein Verzeichnislayout:
GOPATH=/home/user/go
/home/user/go/
src/
foo/
bar/ (go code in package bar)
x.go
quux/ (go code in package main)
y.go
bin/
quux (installed command)
pkg/
linux_amd64/
foo/
bar.a (installed package object)
..........
Wenn GOPATH auf Basisprojekt DIR eingestellt wurde und dieses Problem weiterhin besteht, können Sie in Windows versuchen, GOBIN als Base Project DIR\bin
oder festzulegen%GOPATH%\bin
.
$GOPATH/bin
Verzeichnis vorhanden war. Das Erstellen dieses Ordners war erforderlich - ich mussteGOBIN
env var nicht festlegen .