Змінна середовища GOPATH перераховує місця для пошуку коду Go. У Unix значення є розділеною двокрапкою. У Windows значення є розділеною комою крапкою з комою. На Плані 9 значенням є список.
Якщо змінна середовища не встановлена, GOPATH встановлює підкаталог з назвою "йти" в домашній каталог користувача ($ HOME / перейти на Unix,% USERPROFILE% \ go в Windows), якщо цей каталог не містить дистрибутива Go. Запустіть "go env GOPATH", щоб побачити поточну GOPATH.
Див. Https://golang.org/wiki/SettingGOPATH, щоб встановити власну GOPATH.
Кожен каталог, зазначений у GOPATH, повинен мати встановлену структуру:
Каталог src містить вихідний код. Шлях нижче src визначає шлях імпорту чи ім'я виконавця.
Каталог pkg містить об'єкти встановленого пакету. Як і у дереві Go, у кожної цільової операційної системи та пари архітектури є власний підкаталог pkg (pkg / GOOS_GOARCH).
Якщо DIR - це каталог, вказаний у GOPATH, пакет з джерелом у DIR / src / foo / bar може бути імпортований як "foo / bar" та має його скомпільовану форму, встановлену на "DIR / pkg / GOOS_GOARCH / foo / bar.a ".
Каталог bin містить складені команди. Кожна команда має ім'я для свого вихідного каталогу, але лише остаточний елемент, а не весь шлях. Тобто команда з джерелом у DIR / src / foo / quux встановлюється в DIR / bin / quux, а не DIR / bin / foo / quux. Префікс "foo /" знімається, щоб ви могли додати DIR / bin у свій PATH, щоб отримати доступ до встановлених команд. Якщо встановлена змінна середовища GOBIN, в каталог, який вона іменує, замість DIR / bin встановлюються команди. GOBIN повинен бути абсолютним шляхом.
Ось приклад компонування каталогу:
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 встановлено на Base Project DIR і все ще має цю проблему, у Windows можна спробувати встановити GOBIN як Base Project DIR\bin
або %GOPATH%\bin
.
$GOPATH/bin
каталогу. Створення цієї папки було те, що було потрібно - мені не потрібно було встановлюватиGOBIN
env var.