$ sudo go get -u github.com/golang/lint/golint
package github.com/golang/lint/golint: cannot download, $GOPATH not set. For more details see: go help gopath
我设置了我的$ GOPATH:
(在我的Mac上~/.bash_profile
)
export GOPATH = $ HOME / gocode
我的go env
:
$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/wildcat/gocode"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fno-common"
CXX="g++"
CGO_ENABLED="1"
问题是什么?
答案 0 :(得分:8)
问题是您使用的是sudo
:它将使用根环境变量而不是您的帐户。
您不应该像我在“How to set GOPATH in Mac OS X 10.10”中提到的那样使用sudo
:
sudo
具有重置环境和设置安全路径的默认策略sudo -E bash -c 'go get github.com/golang/lint/golint'
):目前,这应该足够了:
go get -u github.com/golang/lint/golint
OP在评论中添加不同的 go get
命令:
go install golang.org/x/tools/cmd/cover:
open /usr/local/go/pkg/tool/darwin_amd64/cover: permission denied
那个人会使用$GOTOOLDIR
(在你的情况下设置为“/ usr / local / go / pkg / tool / darwin_amd64”)
如“Permission denied error for 'go.tools'”中所述,运行sudo -s
,go get
命令应该有效。
答案 1 :(得分:1)
sudo允许允许的用户以超级用户或者执行命令 另一个用户,由安全策略指定。
使用sudo
时,您以root身份执行。我建议您删除sudo并尝试执行它。