我正在寻找一种方法来控制 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
)
我试过
git tag 1.1.0
和 git tag v1.1.0
在 myAwesomePackage 中,但是myPackage 在尝试更新时出现以下错误:
invalid version: unknown revision v1.1.0
更新
git tag
实际上有效,问题似乎来自我的 Ide (GoLand)。只是在 go.mod 文件中重写版本没有用,我不得不删除require 语句中的整行,然后让 IntelliJ 再次同步
依赖关系。现在 myAwesomePackage 使用正确的版本导入。
最佳答案
目前尚不清楚您是在发布 Go 模块,还是依赖于一个模块。无论哪种方式,它都很简单;如果你是 publishing一,您可以使用 git tag
标记一个版本.如果您是 depending如果您想锁定特定版本,您可以简单地修改项目的 go.mod
文件并选择一个版本。
关于git - 控制 Go 包版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62115016/