go - 当使用没有设置 GOPATH 的模块时,go 将导入放在哪里?

标签 go module go-modules

我正在尝试将工作中的项目转换为模块。我的理解是,它应该使部署变得更加容易,因为不必正确设置 $GOPATH。

在我现有的项目中,我运行了 go mod init <project path> ,并 checkin go.modgo.sum 。作为测试,我打开了一个新终端,unset GOPATH ,将我的项目克隆到/tmp,go build ,一切都很顺利,但它给我留下了疑问。我希望我的导入会被下载到 vendor 文件夹中,但什么也没有。

go 模块将它所需要的包放在哪里 go get当没有设置 $GOPATH 时?

最佳答案

来自modules help :

When using modules, GOPATH is no longer used for resolving imports. However, it is still used to store downloaded source code (in GOPATH/pkg/mod) and compiled commands (in GOPATH/bin).

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

关于go - 当使用没有设置 GOPATH 的模块时,go 将导入放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768616/

相关文章:

javascript - AngularJS - ' Controller 不是函数 : Seperate controller files

go - 如何在 go mod 中升级 go 版本

Goland:如何使用自定义 modfile 而不是 go.mod?

oop - 如何定义静态成员函数?

go - 如何通过 HTTPS 在 Golang 中进行 SOAP 调用

python - 可调用模块

swift - 覆盖所有模块的 Swift.print() 或共享功能

go - 如何解决导入周期不允许的问题,尽管我正在使用界面?

MongoDB 在 Go 中使用 mgo,使用 bson.M/bson.D 的运算符总是出现语法错误

go - 如何在另一个模块中使用 "GOPATH"之外的模块?