使用未设置GOPATH的模块时,go put导入在哪里?

使用未设置GOPATH的模块时,go put导入在哪里?,go,module,go-modules,Go,Module,Go Modules,我在玩弄如何将工作中的一个项目转换成一个模块。我的理解是,由于$GOPATH不需要正确设置,因此它应该使部署更加容易 在我现有的项目中,我运行了go mod init,并签入了go.mod和go.sum。作为测试,我打开了一个新的终端,unset-GOPATH,将我的项目克隆到/tmp,go-build,一切都很顺利,但这给我留下了很多问题。我希望我的导入可以下载到供应商文件夹中,但什么也没有 当未设置$GOPATH时,go模块将其必须获得的软件包放在哪里?来自: 使用模块时,GOPATH不再用

我在玩弄如何将工作中的一个项目转换成一个模块。我的理解是,由于$GOPATH不需要正确设置,因此它应该使部署更加容易

在我现有的项目中,我运行了
go mod init
,并签入了
go.mod
go.sum
。作为测试,我打开了一个新的终端,
unset-GOPATH
,将我的项目克隆到/tmp,
go-build
,一切都很顺利,但这给我留下了很多问题。我希望我的导入可以下载到供应商文件夹中,但什么也没有

当未设置$GOPATH时,go模块将其必须获得的软件包放在哪里?

来自:

使用模块时,GOPATH不再用于解析导入。但是,它仍然用于存储下载的源代码(在GOPATH/pkg/mod中)和编译的命令(在GOPATH/bin中)


因此,在您的情况下,如果GOPATH未设置,它将使用默认的GOPATH(
$HOME/go/
),从而将缓存的导入存储在:
$HOME/go/pkg/mod

默认的
GOPATH
$HOME/go/..
@nilsocket中,当然,这里有东西。