Go Mod 常见错误的原因

no matching versions for query "vx.x"

原因是"vx.x"不符合semantic version,一般tag格式为vx.x.x,还有pre-release格式,具体可参考 https://golang.org/ref/mod#versions

unknown revision vx.x.x

没有找到对应版本,建议查看pkg中是否有相对应版本,如git tag,branch

module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2

major版本有变更,版本号vx.x.x的第一个版本数字,通常情况下主版本如果有升级,Go mod建议pkg带major版本前缀,例如某个引用仓库为v2.1.2的话,Go mod中引用需要更改为$pkg/v2,还有另一种解决方式,在Go mod 的包引用版本中携带+incompatible后缀来声明不兼容。

used for two different module paths

导致报这个错误有两种方式,一个是Go mod中使用replace指令替换当前包为另一个不同名称的包名,例如 replace example.com/a => example.com/b v0.0.0,具体可见issue 34650 ,另一个则是将两个不同的包替换成本地包,具体可见issue 26607

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

1 × 3 =