你正在使用的Go版本是什么( go version
)?
go version go1.11 darwin/amd64
这个问题在最新版本的发布中是否重现?
是的。
你正在使用什么操作系统和处理器架构( go env
)?
GOARCH="amd64"
GOCACHE="/Users/ccahoon/Library/Caches/go-build"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
你做了什么?
注意:我是在GO111MODULE=on
的GOPATH内构建的。
- 我正在构建一个导入模块的命令,该模块定义为:
module github.com/Figure53/figure53.com
。 - 在那个模块中,我导入了一个包,路径为:
github.com/Figure53/figure53.com/backend/remote
,它可以正常构建。 - 我在预存在的包中创建了一个新的文件,并复制粘贴了那个导入路径。在某个过程中,我引入了一个拼写错误到导入路径中。导入路径中的域名被拼写错误地写成了
gitdub.com
。 - 我用
go build
运行了GO111MODULE=on
,它静默挂起直到我取消操作。我尝试了几次,感到困惑。它似乎不是一个CPU问题,而且我已经有一段时间没有遇到过无反馈的慢速构建了。在我暂存我的更改后,它又可以正常构建了。 - 我阅读了我的差异,发现了我的拼写错误,并进行了修复,构建又可以正常工作了。
你期望看到什么?
我期望在较短的时间内看到一些提示信息,表明go build
在尝试获取模块时挂起了。我也认为设置一个较短的超时时间是有意义的。
你看到了什么?
go build
无限挂起。
当我运行go build -v [...]
时,我可以查看它正在处理的内容,并且构建会无限挂起在:Fetching https://gitdub.com/Figure53/figure53.com/backend/remote?go-get=1
。当请求快速返回时(例如,为了理解问题而进行的实验,我将域名更改为我自己控制的域名,它会很快返回404):build github.com/Figure53/figure53.com/backend/act: cannot find module for path figure53.com/Figure53/figure53.com/backend/remote
时,这不是一个问题。顺便说一下,我非常喜欢这个模块系统。大部分情况下,它的过渡都非常顺利。感谢大家所做的出色工作!
1条答案
按热度按时间z0qdvdin1#
gitdub.com
是一个停放的域名,并且对于HTTPS请求似乎会无限挂起。我们可能无法修复挂起的问题,因为我们无法区分慢速服务器和无效服务器,但我们至少可以采取一些措施来澄清哪个操作是挂起的。