如何构建名称不是Golang包

时间:2017-03-09 21:57:57

标签: go build package naming-conventions

如果我的Golang包名称是以下之一,是否可以构建(安装,获取等)名称为foobar的可执行文件:

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

并且包根目录中有main.go

1 个答案:

答案 0 :(得分:27)

您可以使用带有go build的-o开关指定可执行文件名称。对于您的示例,它看起来像: cd $GOPATH/github.com/username/go-foobar && go build -o foobar。但是,您只需将可执行文件放在软件包的文件夹中 - 您仍然需要以某种方式安装它。

但是,我不知道有任何方法可以指定使用go get github.com/username/go-foobar安装工具的人。例如,请参阅此答案:https://stackoverflow.com/a/33243591/2415176

如果您不担心人们使用go get安装您的工具,那么您可以将其包装在Makefile中。