我一直在尝试为我的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.info但是,当我将SDK添加到go.dev
时,我卡住了。Thanks in advance
该你了。mod(最新提交ce18fa
)模块名错误(不需要/v1.0.0
):
module github.com/datelist/datelist-sdk-golang/v1.0.0
。mod git release tagv1.0.0
指向一个不存在的导入路径datelist.io/sdk
:
module datelist.io/sdk
更新你的go.mod
到这个(有效的URL -没有标签后缀):
module github.com/datelist/datelist-sdk-golang
go 1.16
然后git标记这个提交的版本为v1.0.1
-这应该使你的模块工作。
你的库的消费者可以:
go get github.com/datelist/datelist-sdk-golang
或明确:
go get github.com/datelist/datelist-sdk-golang@v1.0.1
前者通过git标签隐式地选择最新的semver
版本-在本例中是v1.0.1
。