是否可以使"去安装"适用于与 git 存储库具有不同名称的可执行文件?



Go有一个很好的功能,您可以在其中go install <x>,它将下载、构建和安装二进制文件。

例如,在我的本地windows PC上,go install github.com/goreleaser/goreleaser会找到gorelever的最新版本,下载、构建并安装到我的本地二进制文件路径中。

我正在进行一个项目,我们希望启用go install,但如果github repo名称与可执行文件名称不匹配,就会遇到问题。GitHub CLI本身也遇到了完全相同的问题:

示例:

go install github.com/cli/cli@latest
go: downloading github.com/cli/cli v1.14.0
go: github.com/cli/cli@latest: module github.com/cli/cli@latest found (v1.14.0), but does not contain package github.com/cli/cli

有办法解决这个问题吗?


更新:我发现我可以通过它的子目录直接引用包。在我的特定实例中,这是有效的:go install github.com/OctopusDeploy/cli/cmd/octopus@latest

这有点令人不快,但效果不错。它不适用于github CLI,因为他们的go.mod中有一个replace指令:-(

问题:这个可以做得更好吗?有没有办法放置某种别名或配置文件,以便可以使用go install github.com/OctopusDeploy/cli@latest而不是go install github.com/OctopusDeploy/cli/cmd/octopus@latest

这能做得更好吗?有没有办法放置某种别名或配置文件,以便安装github.com/OctopusDeploy/cli@latest可以使用,而不是安装github.com/OctopusDeploy/cli/cmd/octopus@latest?

否。非常简单。

最新更新