我刚刚开始一个项目并想使用 go 模块。我创建了一个具有少量功能的新仓库,但它拒绝构建。我已经在go build
没有模块的情况下进行了测试,它工作得很好。错误信息:
C:\Users\gledr\Polyapp_Apps\gocode\src\gitlab.com\polyapp\go-wasm-mvc>go build go: 提取 github.com/rs/cors v1.7.0 验证 github.com/rs/cors@v1 .7.0:github.com/rs/cors@v1.7.0:初始化 sumweb.Conn:检查树#187855:下载的图块不一致
我认为这个错误意味着我必须重新下载相关的包,即使包在没有 go 模块的情况下也可以工作!?
标准库导入按预期工作
零非标准库导入似乎有效
go build
如果我删除 go.mod 但失败了go mod init
go build
你可以在这里克隆项目:https ://gitlab.com/polyapp-open-source/go-wasm-mvc (显然我还没有写过一个单一的功能......)
你也可以go get gitlab.com/polyapp-open-source/go-wasm-mvc
项目
没有类似的 Stack Overflow 问题(“下载的不一致的磁贴”对我来说只有 2 个谷歌结果)
抛出错误的代码在这里:https ://github.com/golang/mod/blob/master/sumdb/tlog/tile.go
根据引发错误的代码,看来我必须删除失败的下载(即使它可以在没有 go mod 的情况下工作?!?)。我这样做了。我删除了几个子目录下 $GOPATH/pkg 中的相关文件夹,并删除了 $GOPATH/src 中的源,但是当我这样做时,它仍然会抛出错误
我尝试使用go build -d github.com/blahblahblah
重新下载文件,但它显然什么也没做
由于此处看到的 1.13 的 go sum 提案可能存在此检查(ctrl+f 表示“inconsis”):https ://go.googlesource.com/proposal/+/master/design/25530-sumdb.md
如果你阅读了上面的 go sum 提案,它会说“没有 go 命令(只有一个手册rm -rf $GOPATH/pkg
)会清除最新观察到的树大小和哈希的内存”。我相信这就是我所处的情况,但是当我删除 $GOPATH 中的子包时,它仍然失败。
本着保存我的 $GOPATH/pkg 文件夹的精神,我尝试在此处删除缓存:$GOPATH/pkg/mod/cache/download/github.com/[package name]
但奇怪的是,尽管删除缓存触发了新的“go get”,但重新下载的文件也有不一致的图块!根据这个经验,我认为 go sum <-> $GOPATH/pkg 验证有些奇怪。
go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\gledr\AppData\Local\go-build
set GOENV=C:\Users\gledr\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\gledr\Polyapp_Apps\gocode
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
繁花不似锦
至尊宝的传说
相关分类