在 Go 1.11 发布之后,我一直在尝试将我的存储库移动到 Go 模块,方法是go.mod
在它们的根目录中添加一个文件。
我的一个根库my.host/root
的版本是 17.0.1,所以我在它的go.mod
文件中写道:
module my.host/root/v17
v17.0.1
我按照 Go 模块手册中的说明标记了该版本。
当我尝试创建一个使用我的根库的新 Go 项目时,例如:
package main
import root "my.host/root/v17"
func main() {
root.DoSomething()
}
并尝试编译它,我收到以下错误:
go: my.host/root@v0.0.0-20180828034419-6bc78016491a: go.mod 在版本 6bc78016491a 有 post-v0 模块路径“my.host/root/v17”
我不知道为什么会发生这种情况。v17.0.1
我在文件中明确添加go.mod
,但每次尝试都go build
用一个版本替换该条目v0.0.0-20180828034419-6bc78016491a
,然后该版本失败,因为在该提交时,我的根库的go.mod
文件条目确实以 a 结尾,正如它应该的那样。module
v17
作为记录,此提交与标记v17.0.1
版本相同。
我在这里做错了什么?我该如何调试这种情况?