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

时间:2018-10-11 20:41:05

标签: go module go-modules

我想将工作中的项目转换为模块。我的理解是,这将使部署变得容易得多,因为不必正确设置$ GOPATH。

在我现有的项目中,我运行go mod init <project path>,并签入go.modgo.sum。作为测试,我打开了一个新终端unset GOPATH,将我的项目克隆到/ tmp go build中,虽然一切正常,但仍然给我带来了问题。我希望导入文件可以下载到供应商文件夹中,但是什么也不会下载。

在未设置$ GOPATH的情况下,go模块将其必须存放的软件包放在哪里?

1 个答案:

答案 0 :(得分:3)

来自modules help

  

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

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