我遇到了这个不一致的供应商错误,而且我是一个完全的 Go 新手。谁能向我解释一下 go.mod 如何与vendor/modules.txt 交互?我发现这个问题很有帮助,现在我想知道我是否应该有一个供应商目录。这是通过运行创建的吗go mod vendor?我继承了这个项目,它已经在git中有了vendor目录。
这是我的 go.mod 文件的相关部分 -
module mymodule
go 1.17
require (
gopkg.in/redis.v5 v5.2.9
)
Run Code Online (Sandbox Code Playgroud)
然后是相关的错误信息:
go: inconsistent vendoring
gopkg.in/redis.v5@v5.2.9: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
Run Code Online (Sandbox Code Playgroud)
在vendor/modules.txt中我有:
#gopkg.in/redis.v5 v5.2.9
gopkg.in/redis.v5
gopkg.in/redis.v5/internal
gopkg.in/redis.v5/internal/consistenthash
gopkg.in/redis.v5/internal/hashtag
gopkg.in/redis.v5/internal/pool
gopkg.in/redis.v5/internal/proto
Run Code Online (Sandbox Code Playgroud)
值得一提的是,我的 go.mod 文件中的每个依赖项都会出现此错误,我只是包含了有关 redis 的依赖项。