+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > 控制Go包版本 >

控制Go包版本

时间:2024-04-08 08:55:56

本篇文章就来带大家聊聊《控制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.0 和 git 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 文件并选择一个版本即可。

今天带大家了解了的相关知识,希望对你有所帮助;

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title