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

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

包根中有main.go个?

推荐答案

go build -o <your desired name>

您可以使用带有go build的-oswitch 指定可执行文件名称.对于您的示例,它将类似于: 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中的东西.

Go相关问答推荐

Go汇编器命名为Constants

gorm插入不支持的数据

使用!NOT运算符的Golang文本/模板多个条件

Python样式生成器实现为通道:过早读取

通过 Terraform 中的 MapNestedAtribute 进行迭代

转到 bufio.Writer、gzip.Writer 并上传到内存中的 AWS S3

使用反射在Go中递归迭代 struct 体和集合字段

使用 httptest 对 http 请求进行单元测试重试

正确的 shell 程序进入 golang alpine docker 容器的入口点?

替换字符串中的最后一个字符

如何使用 GolangCI 删除未使用的导入

接受通道和切片的通用函数

Go:从 ssl 证书中获取 'subject/unstructeredName' 的值

如何将 npm 安装进度条通过管道传输到终端?

Golang prometheus 显示自定义指标

如何在 Golang 中使用具有相同名称或特定关键字的行或列重新排列/排序 CSV

使用 xml.Name 将 xml 解组为 [] struct

如何在 Prometheus 中正确检测区域和环境信息?

Go http标准库中的内存泄漏?

Golang 中的无实体函数