首页 > 解决方案 > 为什么`go build` 可以使用“+compatible”依赖,但`go list -m all` 却不行?

问题描述

我尝试使用 GoLand 阅读 tidb-lightning 的源代码。但它未能索引项目抱怨以下错误消息:

go: finding github.com/pingcap/tidb v3.0.4+incompatible
go: finding github.com/pingcap/tidb v3.0.4+incompatible
go list -m: github.com/pingcap/tidb@v3.0.4+incompatible: invalid version: +incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required

但是当我尝试make lightning构建二进制文件时,一切都很好。

我用谷歌搜索了错误消息,但找不到现有的解决方案。但是我发现了这个问题,并猜测它与 semver 有关,所以我将依赖项更新为某个 v1 版本,现在 GoLand 可以对其进行索引。

我想知道这种依赖关系是否有效,为什么成功go list -m all时失败go build

标签: go

解决方案


推荐阅读