web-dev-qa-db-fra.com

Comment compiler un exécutable avec un nom autre que le paquet Golang

Est-il possible de construire (installer, aller chercher, etc.) un exécutable avec le nom foobar si le nom de mon paquet Golang est l’un des suivants:

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

et a main.go à la racine du paquet?

28
Petr Shevtsov

Vous pouvez spécifier le nom du fichier exécutable à l'aide du commutateur -o avec go build. Pour votre exemple, cela ressemblerait à quelque chose comme: cd $GOPATH/github.com/username/go-foobar && go build -o foobar. Cependant, il ne reste que l'exécutable dans le dossier du paquet - vous devez toujours l'installer d'une manière ou d'une autre.

Cependant, je ne connais aucun moyen de spécifier cela pour quelqu'un qui utilise go get github.com/username/go-foobar pour installer votre outil. Par exemple, voir cette réponse: https://stackoverflow.com/a/33243591/2415176

Si vous ne craignez pas que les gens installent votre outil avec go get, c'est le genre de chose que vous pouvez envelopper dans un Makefile.

33
Craig Kelly