go - 为什么`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
?
解决方案
推荐阅读
- gradle - 如何将整个 gradle 构建环境转储到日志中?
- c# - Asp 身份两因素身份验证不起作用
- sql - 将具有多个不同计数的聚合查询作为单独的列
- angular - 正则表达式同时替换多个字符串
- javascript - 为什么我的 querySelector 可以在 Chrome 中工作,但不能在 VS Code 中工作?
- javascript - 使用 moment.js 按日期对数组进行分类
- mysql - 无法在端口 3306 上启动 MySQL
- sql-server - 查询 SQL Server 2014 的 sys.partitions DMV 耗时太长
- drupal-7 - 如何在 Drupal 7 下使用响应式文件管理器创建绝对路径?
- python - 消息不适合 sklearn k-means 收敛实现