go - Go 模块导入 - 无效版本:go.mod 的模块路径格式错误
问题描述
我已经到处寻找“go.mod 模块路径格式错误”的答案,但我还没有找到为什么我无法获得我正在编写的要导入的库的答案。为了简化,我做了一个小型库回购:https ://github.com/buphmin/test-go-pkg
注意:我正在使用 stripe api 库来获取结构灵感。https://github.com/stripe/stripe-go
问题:
我创建了一个库,去 mod init ,将代码和标签推送到 github。然后尝试导入包以在其他地方使用该库,我收到一条错误消息:'go get: github.com/buphmin/test-go-pkg@v1.0.0: invalid version: go.mod has malformed module path "github. com/buphmin/test-go-pkg/v1" 在版本 v1.0.0'
我不知道为什么这是一个问题,到目前为止我还没有找到答案。
重现步骤
假设你已经安装好了。
- 创建本地文件夹
- 去 mod init <your_mod>
- 去获取 github.com/buphmin/test-go-pkg/v1
- 发生错误
其他信息
- 去 v1.16
- Ubuntu 18 LTS
go mod 文件 复制自上面列出的真相来源:https ://github.com/buphmin/test-go-pkg
module github.com/buphmin/test-go-pkg/v1
go 1.16
编辑 - 答案:
在@Steven Penny 的帮助下,我现在了解到 v1、v2 等比组织更重要。本文解释了 go 如何处理版本控制https://www.honeybadger.io/blog/golang-go-package-management。
解决方案
这个:
module github.com/buphmin/test-go-pkg/v1
无效。应该是这样的:
module github.com/buphmin/test-go-pkg