阅读 github.com/username/kit/go/database/go/database/go.mod 版本 go/database/v1.0.1:未知版本 go/database/v1.0.1

2023-12-27

我有一个公共套件存储库,我将其推送到 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(使用前将#替换为@)

阅读 github.com/username/kit/go/database/go/database/go.mod 版本 go/database/v1.0.1:未知版本 go/database/v1.0.1 的相关文章

随机推荐