Golang中如何正确使用"go get"命令
Golang中如何正确使用"go get"命令

在执行 go get 命令时(例如针对 dgraph-io/dgo),它实际上并没有拉取代码并将其放入我的 src 文件夹。这以前是可行的。我专注于其他事情几个月后(我是一名前端开发人员)重新开始使用 Go。
你好,能否提供你的 Go 版本号?你尝试过在其他文件夹中执行这个操作吗?
更多关于Golang中如何正确使用"go get"命令的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
显然,自从我上次进行任何Go开发以来,很多东西都发生了变化。现在都是基于模块了吗?有点像npm使用package.json的方式?
是的,随着 Go 模块(现已成为默认)的引入,这一点已经改变。
$GOPATH 不再是必须的。下载的模块现在被缓存在 $GOCACHE 中(使用 go env 命令查看其设置值)。
你可以通过查看 https://golang.org/ref/mod 了解更多信息。
func main() {
fmt.Println("hello world")
}
在Go 1.16及更高版本中,go get命令的行为发生了变化。现在它主要用于修改go.mod文件中的依赖项,而不是下载源代码到GOPATH。
要下载依赖包到vendor目录或模块缓存,应该使用以下命令:
go mod download
或者要获取特定包并更新go.mod:
go get github.com/dgraph-io/dgo/v210
如果你仍然需要将代码下载到GOPATH/src目录(不推荐),可以设置GO111MODULE=off:
export GO111MODULE=off
go get github.com/dgraph-io/dgo
但在现代Go开发中,建议使用Go模块。首先初始化模块:
go mod init your-module-name
然后获取依赖:
go mod tidy
这会自动下载所有需要的依赖到模块缓存中。要查看下载的包位置:
go list -m -f '{{.Path}} {{.Version}}' all
或者检查模块缓存:
ls $(go env GOPATH)/pkg/mod/github.com/dgraph-io/

