当我使用go get命令时:
sudo go get -u github.com/golang/dep/cmd/dep
我的GOPATH是:
GOPATH="/home/hadoop/gopath"
我发现go get将在/ home中创建一个名为“ go”的新目录,并且dep包在其中,我想知道为什么不在GOPATH中而是创建一个新目录?
答案 0 :(得分:5)
由于使用的是sudo,因此环境变量与您自己(用户)看到的变量不同。
例如,您可以使用:
sudo --preserve-env go get -u github.com/golang/dep/cmd/dep
,但您可能会遇到权限等问题。
更好的主意是在不使用sudo的情况下直接运行go get-如果GOPATH
在您的主目录中,则我认为没有必要首先使用sudo。
答案 1 :(得分:1)
参考此 How to keep environment variables when using sudo
因此,我相信使用sudo时不会设置环境。
您可以使用此go env
和sudo go env
答案 2 :(得分:-2)
我已经完成了,如果我们不使用sudo,它将下载到GOPATH,尽管我不知道为什么