github.com/golang/go/wiki/Modules
深入Go Module之go.mod文件解析
深入Go Module之讨厌的v2
pkg.go.dev/cmd/go#hdr-Module_compatibility_and_semantic_versioning
github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher
- 使用go mod时,A包引用B包,如果B包引用了本地包,用replace进行代替,如果没有对应的require(版本要求),在执行go mod tidy后,会在go.mod文件下生成对应require,go mod 会要求require中的包路径符合域名规范的格式,然而本地包的包路径基本上都不是域名的格式(如github.com/jinzhu/gorm),B包因为使用了replace,所以不会有问题,但是A包就会提示错误“malformed pkg path……”,这时A包就同样需要使用replace替换掉提示错误“malformed pkg path……”的包,最直接的就是把B包中replace的包全部拷贝到A包的replace中,这样A包就不会提示错误了
- go.mod版本号大于2(v2.x.x, v3.x.x …etc)处理引用tidb版本号大于2的包的例子-1, 引用tidb版本号大于2的包的例子-2