如果我不指定 GOPATH,去哪里下载我的依赖项?
Where does go download my dependencies if I do not specify GOPATH?
Go 新手,所以这可能是一个微不足道的问题。如果我对文档的理解正确的话,go 在开始时一直使用 GOPATH
,并且每个依赖项和源代码都需要在这个 GOPATH 中,但是在 1.1.1 GO 之后切换到使用 Go 模块,这就像其他语言所做的那样。
现在,如果我在 bashrc/bash_profile 或任何地方根本不指定 GOPATH,我现在可以 go init mymod
并编写一些代码,只需 运行 go build
和它将毫无问题地下载我正在使用的任何依赖包。我已经尝试设置 GOPATH
,当设置 GOPATH
时,包会按预期下载到我的 GOPATH,但没有 GOPATH
,这仍然有效。但是我不确定依赖包在哪里下载。
你能给我解释一下这里发生了什么吗?这种情况下依赖包下载到哪里了?
引用自Command go: GOPATH environment variable:
If the environment variable is unset, GOPATH defaults to a subdirectory named "go" in the user's home directory ($HOME/go on Unix, %USERPROFILE%\go on Windows), unless that directory holds a Go distribution. Run "go env GOPATH" to see the current GOPATH.
Go 新手,所以这可能是一个微不足道的问题。如果我对文档的理解正确的话,go 在开始时一直使用 GOPATH
,并且每个依赖项和源代码都需要在这个 GOPATH 中,但是在 1.1.1 GO 之后切换到使用 Go 模块,这就像其他语言所做的那样。
现在,如果我在 bashrc/bash_profile 或任何地方根本不指定 GOPATH,我现在可以 go init mymod
并编写一些代码,只需 运行 go build
和它将毫无问题地下载我正在使用的任何依赖包。我已经尝试设置 GOPATH
,当设置 GOPATH
时,包会按预期下载到我的 GOPATH,但没有 GOPATH
,这仍然有效。但是我不确定依赖包在哪里下载。
你能给我解释一下这里发生了什么吗?这种情况下依赖包下载到哪里了?
引用自Command go: GOPATH environment variable:
If the environment variable is unset, GOPATH defaults to a subdirectory named "go" in the user's home directory ($HOME/go on Unix, %USERPROFILE%\go on Windows), unless that directory holds a Go distribution. Run "go env GOPATH" to see the current GOPATH.