2

我一直在尝试为我的 Web 应用程序创建和发布一个 golang SDK:https ://datelist.io 在我的本地设置上一切正常。但是,一旦我想将我的 SDK 发布到https://pkg.go.dev/网站,事情就会变得更加困难

我想发布的代码可以在这里找到:github.com/datelist/datelist-sdk-golang

我已经阅读了一些教程,如果我理解正确,我所需要的只是:

  • 创建我的公共存储库
  • 在我的存储库的根目录添加一个 go.mod 文件
  • 请求 proxy.golang.org 网站索引我的更改

我尝试了不同的方法来索引我的更改,并且根据该链接: https ://go.dev/about/ 一旦解决方案是访问该页面: https ://proxy.golang.org/MYMODULE_PATH

我因此尝试过: https ://proxy.golang.org/github.com/datelist/datelist-sdk-golang/@v/v1.0.0.info

但是,我有以下错误: not found: github.com/datelist/datelist-sdk-golang@v1.0.0: invalid version: unknown revision v1.0.0

我尝试过不同的东西。我在我的 github 存储库上发布了两个标签:v1.0.0 和 1.0.0,但它不起作用。我已经检查过:我的代码看起来有效,并且版本似乎存在,我可以访问:https://proxy.golang.org/github.com/datelist/datelist-sdk-golang/@v/ce18fa0756c2。信息 但是,在将我的 SDK 添加到 go.dev 时,我遇到了困难

提前致谢

4

1 回答 1

2

您的go.mod(最新提交ce18fa)模块名称不正确(/v1.0.0不需要):

module github.com/datelist/datelist-sdk-golang/v1.0.0

git release 标记处的go.modv1.0.0指向datelist.io/sdk不存在的导入路径:

module datelist.io/sdk

更新你go.mod的这个(有效的 URL - 没有标签后缀):

module github.com/datelist/datelist-sdk-golang
    
go 1.16

然后 git 将这个提交的版本标记为 say v1.0.1- 这应该让你的模块工作。

然后,您图书馆的消费者可以:

go get github.com/datelist/datelist-sdk-golang

或明确:

go get github.com/datelist/datelist-sdk-golang@v1.0.1

前者semver通过 git 标签隐式选择最新版本 -v1.0.1在这种情况下。

于 2021-08-08T12:52:46.660 回答