登录
首页 >  Golang >  Go问答

控制Go包版本

来源:stackoverflow

时间:2024-04-02 20:54:37 458浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《控制Go包版本》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在寻找一种方法来控制 github 上的 go 包版本,类似于 package.json 文件中的“version”键(对于 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.0git tag v1.1.0,但是 mypackage 在尝试更新时出现以下错误:

invalid version: unknown revision v1.1.0

更新

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


解决方案


目前尚不清楚您是否正在发布 Go 模块,或者您是否依赖其中一个。不管怎样,这都很简单;如果您是 publishing,则可以使用 git tag 来标记版本。如果您使用的是 depending 并且想要锁定到特定版本,则只需修改项目的 go.mod 文件并选择一个版本即可。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>