Zmienna środowiskowa GOPATH zawiera listę miejsc, w których należy szukać kodu Go. W systemie Unix wartość jest łańcuchem rozdzielanym dwukropkami. W systemie Windows wartość jest ciągiem rozdzielanym średnikami. W planie 9 wartością jest lista.
Jeśli zmienna środowiskowa nie jest ustawiona, GOPATH przyjmuje domyślnie podkatalog o nazwie „go” w katalogu domowym użytkownika ($ HOME / go w systemie Unix,% USERPROFILE% \ go w systemie Windows), chyba że katalog ten zawiera dystrybucję Go. Uruchom „go env GOPATH”, aby zobaczyć aktualny GOPATH.
Zobacz https://golang.org/wiki/SettingGOPATH aby ustawić niestandardową GOPATH.
Każdy katalog wymieniony w GOPATH musi mieć określoną strukturę:
Katalog src zawiera kod źródłowy. Ścieżka poniżej src określa ścieżkę importu lub nazwę pliku wykonywalnego.
Katalog pkg zawiera zainstalowane obiekty pakietów. Podobnie jak w przypadku drzewa Go, każdy docelowy system operacyjny i para architektury ma swój własny podkatalog pkg (pkg / GOOS_GOARCH).
Jeśli DIR jest katalogiem wymienionym w GOPATH, pakiet ze źródłami w DIR / src / foo / bar można zaimportować jako „foo / bar” i ma zainstalowaną skompilowaną formę jako „DIR / pkg / GOOS_GOARCH / foo / bar.a ”.
Katalog bin zawiera skompilowane polecenia. Każde polecenie ma nazwę odpowiadającą jego katalogowi źródłowemu, ale tylko elementowi końcowemu, a nie całej ścieżce. Oznacza to, że polecenie ze źródłem w katalogu DIR / src / foo / quux jest instalowane w katalogu DIR / bin / quux, a nie w DIR / bin / foo / quux. Prefiks „foo /” jest usuwany, dzięki czemu można dodać DIR / bin do swojej ŚCIEŻKI, aby uzyskać dostęp do zainstalowanych poleceń. Jeśli ustawiona jest zmienna środowiskowa GOBIN, komendy są instalowane w katalogu, którego nazwa wskazuje, zamiast w katalogu DIR / bin. GOBIN musi być ścieżką absolutną.
Oto przykładowy układ katalogu:
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)
..........
jeśli GOPATH został ustawiony na Base Project DIR i nadal występuje ten problem, w systemie Windows możesz spróbować ustawić GOBIN jako Base Project DIR\bin
lub %GOPATH%\bin
.
$GOPATH/bin
katalogu. Utworzenie tego folderu było potrzebne - nie musiałem ustawiaćGOBIN
env var.