Ответ 1
Если вы хотите, чтобы двоичные файлы переходили в определенное место, вы можете использовать переменную окружения GOBIN
:
В каталоге bin/содержатся скомпилированные команды. Каждая команда имеет имя для его исходный каталог, но только конечный элемент, а не весь путь. То есть команда с источником в DIR/src/foo/quux устанавливается в DIR/bin/quux, а не DIR/bin/foo/quux. Foo/разделяется так, что вы можете добавить DIR/bin в PATH, чтобы получить установленные команды. Если Переменная среды GOBIN установлена, команды установлены на он вместо имени DIR/bin указывает имена.
Источник: http://golang.org/cmd/go/#hdr-GOPATH_environment_variable
GOBIN=/usr/local/bin/ go install
Если вам нужен каталог проекта bin/
, тогда вы можете просто добавить свой путь к проекту GOPATH
, однако у вас должен быть код под $project-path/src/
и go install
будет помещать все двоичные файлы в $project-path/bin
.
export GOPATH=/dir1:/dir2:/dir3
Если GOBIN не установлен, двоичные файлы из /dir 1/src заканчиваются в /dir 1/bin, двоичные файлы из /dir 2/src заканчиваются в /dir 2/bin и т.д. (и двоичные файлы из $GOROOT/src в $GOROOT/bin).
Источник: https://groups.google.com/forum/#!topic/golang-nuts/-mN8R_Fx-7M
И это полностью перешло мне на ум, но вы всегда можете просто использовать (спасибо JimB):
go build -o /path/binary-name