控制 Go 包版本

Control Go package version

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

在package.json

{
  "version": "1.0.1"
}

我想在另一个中导入我的包,两者都使用 go modules。在我的第二个包中,我的 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.0git tag v1.1.0,但是 myPackage 在尝试更新时出现以下错误:

invalid version: unknown revision v1.1.0

更新

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

不清楚您是发布 Go 模块,还是依赖于一个模块。无论哪种方式,它都足够简单;如果您 publishing one, you can just tag a version using git tag. If you're depending 并想锁定到特定版本,您只需修改项目的 go.mod 文件并选择一个版本即可。