控制 Go 包版本

我正在寻找一种方法来控制 github 上的 go 包版本,类似于 package.json 文件中的“版本”键(对于 nodejs 包)。


在 package.json 中


{

  "version": "1.0.1"

}

我想将我的包导入另一个包,两者都使用 go 模块。在我的第二个包中,我的 go.mod 文件如下所示:


module myPackage


go 1.14


require(

  github.com/myAwesomePackage v0.0.0-20200531102207-93175fe4ed5f

)

现在我想对 myAwesomePackage 进行更改,所以我可以像这样重写 myPackage mod 文件:


module myPackage


go 1.14


require(

  github.com/myAwesomePackage v1.1.0

)

我在 myAwesomePackage 中尝试过git tag 1.1.0,git tag v1.1.0但 myPackage 在尝试更新时出现以下错误:


invalid version: unknown revision v1.1.0

更新


git tag实际上有效,问题似乎来自我的 Ide (GoLand)。只是在 go.mod 文件中重写版本不起作用,我不得不删除 require 语句中的整行,然后让 IntelliJ 再次同步依赖项。现在 myAwesomePackage 使用正确的版本导入。


慕莱坞森
浏览 296回答 1
1回答

慕运维8079593

目前尚不清楚您是在发布Go 模块,还是依赖于一个模块。无论哪种方式,它都很简单;如果您要发布一个版本,您可以使用git tag. 如果您依赖一个并且想要锁定到特定版本,您可以简单地修改您的项目go.mod文件并选择一个版本。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go