Как создать исполняемый файл с именем, отличным от пакета Golang

Возможно ли создать (установить, перейти get и т.д.) Исполняемый файл с именем foobar если мое имя пакета Golang является одним из следующих:

  • github.com/username/go-foobar
  • github.com/username/foobar-tools

и имеет main.go в корне пакета?

Ответ 1

Вы можете указать имя исполняемого файла, используя переключатель -o с функцией go build. Для вашего примера это будет выглядеть примерно так: cd $GOPATH/github.com/username/go-foobar && go build -o foobar. Тем не менее, вы просто ушли с исполняемым файлом в папке пакета - вам все равно нужно его установить.

Тем не менее, я не знаю, каким образом указать, что для кого-то используйте go get github.com/username/go-foobar для установки вашего инструмента. Например, см. Этот ответ: fooobar.com/info/995985/...

Если вы не беспокоитесь о том, что люди установят ваш инструмент с помощью go get, это то, что вы можете обернуть в Makefile.