GOPATH ortam değişkeni, Go kodunun aranacağı yerleri listeler. Unix'te, değer iki nokta üst üste işaretiyle ayrılmış bir dizedir. Windows'ta, değer noktalı virgülle ayrılmış bir dizedir. Plan 9'da değer bir listedir.
Ortam değişkeni ayarlanmamışsa, GOPATH varsayılan olarak kullanıcının ana dizinindeki "go" adlı bir alt dizine ($ HOME / go Unix,% USERPROFILE% \ go Windows), bu dizin bir Go dağıtımına sahip olmadıkça varsayılan olarak ayarlanır. Mevcut GOPATH'ı görmek için "go env GOPATH" komutunu çalıştırın.
Bkz https://golang.org/wiki/SettingGOPATH özel GOPATH ayarlamak için.
GOPATH'te listelenen her bir dizinin öngörülen bir yapısı olmalıdır:
Src dizini kaynak kodunu tutar. Src'nin altındaki yol, alma yolunu veya yürütülebilir adı belirler.
Pkg dizini kurulu paket nesnelerini tutar. Git ağacında olduğu gibi, her hedef işletim sistemi ve mimari çiftinin kendi pkg alt dizini vardır (pkg / GOOS_GOARCH).
DIR GOPATH'da listelenen bir dizinse, DIR / src / foo / bar'da kaynağı olan bir paket "foo / bar" olarak içe aktarılabilir ve derlenmiş formu "DIR / pkg / GOOS_GOARCH / foo / bar.a ".
Bin dizini derlenmiş komutları tutar. Her komut, kaynak dizini için adlandırılır, ancak yolun tamamı için değil, yalnızca son öğe. Yani, DIR / src / foo / quux'da kaynak bulunan komut DIR / bin / foo / quux'a değil, DIR / bin / quux'a kurulur. Yüklü komutlara ulaşmak için PATH'nize DIR / bin ekleyebilmeniz için "foo /" öneki çıkarılmıştır. GOBIN ortam değişkeni ayarlanırsa, komutlar DIR / bin yerine adlandırdığı dizine yüklenir. GOBIN mutlak bir yol olmalıdır.
İşte örnek bir dizin düzeni:
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)
..........
GOPATH Tabanı Projesi DIR seti olmuştur ve hala pencerelerde ayarlamak deneyebilirsiniz, bu sorunu var eğer Gobin olarak Base Project DIR\bin
ya %GOPATH%\bin
.
$GOPATH/bin
dizin olmamasından kaynaklandı . Bu klasörü oluşturmak gerekliydi -GOBIN
env var.