是否可以让“go install”适用于与 git repo 具有不同名称的可执行文件?

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

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

我正在开发一个我们希望启用的项目go install,但如果 github 存储库名称与可执行文件名称不匹配,则会遇到问题。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.modreplace中有一个指令:-(

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


撒科打诨
浏览 80回答 1
1回答

繁星coding

这可以做得更好吗?有没有办法放置某种别名或配置文件,以便可以使用 go install github.com/OctopusDeploy/cli@latest 而不是 go install github.com/OctopusDeploy/cli/cmd/octopus@latest ?不,非常简单。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go