无法安装Go软件包

乌托邦

运行时go get,出现权限被拒绝错误,而尝试时,sudo go get出现未设置GOPATH的错误。

utkbansal@Dell:~$ go  get -u golang.org/x/tools/cmd/...
go install golang.org/x/tools/cmd/godoc: open /usr/lib/go/bin/godoc: permission denied

utkbansal@Dell:~$ sudo go  get -u golang.org/x/tools/cmd/...
package golang.org/x/tools/cmd/...: cannot download, $GOPATH not set. For more details see: go help gopath

这是我$ PATH的结果,转到env以及转到哪个命令。

utkbansal@Dell:~$ which go
/usr/lib/go/bin/go

utkbansal@Dell:~$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/utkbansal/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"


utkbansal@Dell:~$ $PATH
bash: /usr/lib/go/bin:/home/utkbansal/miniconda/bin:/usr/local/heroku/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/go/bin: No such file or directory

我该如何解决?

我正在从此PPA使用go1.5 https://launchpad.net/~ubuntu-lxc/+archive/ubuntu/lxd-stable(ppa:ubuntu-lxc / lxd-stable)

mrd0ll4r

godoc似乎是一般go get惯例的一个例外,因为它安装到go installation($GOROOT/bin)而不是$GOPATH因此,如果您确实需要更新godoc(为什么?),则需要执行以下操作:

  1. 以root用户身份登录(或su,或sudo su,或...)
  2. 设置$GOPATH为普通用户$GOPATH"/home/utkbansal/go"
  3. 更新godoc,使用go get -u golang.org/x/tools/cmd/godoc或所有工具
  4. 为您的设置适当的权限$GOPATH,即chown -R utkbansal:utkbansal $GOPATH(仍以root身份)

我猜那应该有用。但是:您为什么要更新godoc如果您只想要一个未预先安装的特定工具,则应该能够在go get没有root特权的情况下使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章