当我运行时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
Run Code Online (Sandbox Code Playgroud)
这是$ PATH,go env和go命令的结果.
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
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我在这个PPA中使用go1.5 https://launchpad.net/~ubuntu-lxc/+archive/ubuntu/lxd-stable(ppa:ubuntu-lxc/lxd-stable)
mrd*_*l4r 13
godoc似乎是一般go get惯例的例外,因为它安装到go install($GOROOT/bin)而不是$GOPATH.那么,如果你真的需要更新godoc(为什么?),你需要做的是:
su,或sudo su,或...)$GOPATH为普通用户$GOPATH("/home/utkbansal/go")godoc,使用go get -u golang.org/x/tools/cmd/godoc或所有工具$GOPATH,即chown -R utkbansal:utkbansal $GOPATH(仍为root)那应该可行.但是:你为什么要更新godoc?如果您只想要一个未预先安装的特定工具,则应该能够在go get没有root权限的情况下使用它.
mrd0ll4r对这个问题有一个很好的解释,尽管我想分享一个更简单的安装方法godoc.假设你设置$GOPATH了你的.bashrc(或类似的)尝试:
sudo -E go get golang.org/x/tools/cmd/godoc
Run Code Online (Sandbox Code Playgroud)
使用该-E标志,您可以保留当前的环境变量(包括$GOPATH).
请参阅@mrd0ll4r 答案,哪个更好。( /sf/answers/2362889651/ )
更新
由于您使用了 -u 标志,因此它首先尝试更新已安装并在 /usr/lib/go/bin/godoc 中有二进制文件的软件包
当你用 sudo 运行它时,它没有你的环境变量,所以它不再有 GOPATH 变量
你可以进入root模式并从那里运行它
sudo su
export GOROOT="/usr/lib/go"
export GOPATH="/home/utkbansal/go"
go get -u golang.org/x/tools/cmd/...
# other commands
exit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11923 次 |
| 最近记录: |