我有一个公共套件存储库,我将其推送到 v1.0.3 并具有以下结构
go
-database
--database.go
--go.mod
--go.sum
我需要它
require github.com/michael-ottink/kit/go/database v1.0.3
测试套件存储库的工作原理。但运行时出现以下错误go mod tidy
在我的主要项目中
github.com/michael-ottink/kit/go/[email protected] /cdn-cgi/l/email-protection: reading github.com/michael-ottink/kit/go/database/go/database/go.mod at revision go/database/v1.0.2: unknown revision go/database/v1.0.3
我对此很陌生,我很难理解问题是什么?如果需要更多信息,我会更新帖子。
这是我的数据库。go
package database
import (
"gorm.io/gorm"
)
type Database struct {
*gorm.DB
}
type Config struct {
Driver string
Host string
Username string
Password string
Port string
Database string
Timezone string
}
如果您尝试将其添加到仅包含 go.mod 、 go.sum 和 main.go 的全新项目中,则会出现此错误。
提交于v1.0.3
添加了一个名为的空模块slice
。存储库变成了多模块,并且隐含了更多规则。
多模块存储库的文档是here https://github.com/golang/go/wiki/Modules#faqs--multi-module-repositories.
不幸的是,存储库的第一个文件夹名为/kit
不包含模块,仅包含其子文件夹/go
.
当找到多个模块时,像这样的标签v1.0.3
归因于存储库,但没有模块,这意味着go get github.com//michael-ottink/[email protected] /cdn-cgi/l/email-protection
不执行任何操作。
当尝试获取子文件夹时go get github.com//michael-ottink/kit/[email protected] /cdn-cgi/l/email-protection
,返回的错误确认没有找到模块。
要获取存储库,标签可能看起来像[email protected] /cdn-cgi/l/email-protection
要单独标记每个模块,标记可以是go/database/v1.0.3
。当切片模块准备好后,可以类似地对其进行标记。
仍然是,当从模块开始时,每个模块一个存储库是一种更安全的选择,如文档中引用的那样(here https://github.com/golang/go/issues/26664#issuecomment-455232444):
对于除高级用户之外的所有用户,您可能希望采用通常的方式
约定一个存储库 = 一个模块。对长远来说很重要
代码存储选项的演变,一个存储库可以包含多个
模块,但这几乎肯定不是您想要做的事情
默认。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)