在`go install package`期间创建几个二进制文件

3
go 工具可以创建一个二进制文件,并将其放置在 GOBIN 中,如果包含一个 main 子包(或者包本身是一个 main)。是否有可能使用单个 go install package 命令创建多个(至少两个)二进制文件?也就是说,不使用 GNU make 实现这个目的。

谢谢。

2个回答

3
如果所有命令都在一个共同的目录下,使用go install root/...是完全可能的。结尾处的三个点告诉go命令对该目录下的所有包执行此操作。同样的三个点符号也适用于go getgo build,以及其他大部分go命令。
如果导入路径包含一个或多个“…”通配符,则该路径就是一个模式,每个通配符可以匹配任何字符串,包括空字符串和包含斜杠的字符串。这种模式会扩展到GOPATH树中与模式匹配的所有包目录。作为特例,“x/...”不仅匹配x,还匹配x的子目录。例如,net/...扩展到net及其子目录中的包。 http://golang.org/cmd/go/

2
据我所知,这是不可能的。通常的做法是将二进制文件放入具有cmd作为其最后路径元素的包中。然后人们可以像这样安装所有的二进制文件:
go get code.google.com/p/codesearch/cmd/{cindex,csearch,cgrep}

谢谢。这可能是唯一的方法。 - Sergey Gerasimov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接