![](/img/trans.png)
[英]Go modules replaces an explicit version with v0.0.0-<timestamp>-<revision> in go.mod
[英]reading github.com/username/kit/go/database/go/database/go.mod at revision go/database/v1.0.1: unknown revision go/database/v1.0.1
我有一個公共工具包 repo,我將 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/database@v1.0.3: 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
的空模塊。 存儲庫變成了多模塊,並且隱含了更多規則。 多模塊存儲庫的文檔在這里。
不幸的是,名為/kit
的存儲庫的第一個文件夾不包含模塊,而僅包含其子文件夾/go
。
當找到多個模塊時,像v1.0.3
這樣的標簽被歸於存儲庫,但沒有模塊,這意味着go get github.com//michael-ottink/kit@v1.0.3
不會做任何事情。
當嘗試使用go get github.com//michael-ottink/kit/go@v1.0.3
獲取子文件夾時,返回的錯誤確認未找到模塊。
要獲取 repo,標簽可能看起來像go@v1.0.3
要單獨標記每個模塊,標記可以是go/database/v1.0.3
。 當切片模塊准備好時,可以類似地對其進行標記。
仍然是,當從模塊開始時,每個模塊一個存儲庫是更安全的選擇,如文檔中引用的( 這里):
對於除高級用戶之外的所有用戶,您可能希望采用通常的約定,即一個 repo = 一個模塊。 一個 repo 可以包含多個模塊,這對於代碼存儲選項的長期發展很重要,但幾乎可以肯定,默認情況下你不想這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.