以 sudo 身份登录时 GO 不存在,以用户身份登录时则存在

问题描述 投票:0回答:2

标题就是问题——这里有一个关于我是如何到达这里的简短解释,我想这可能有助于侦查。

我安装了go,一切都很好。我在 Ubuntu 上运行

build essential golang
命令,突然我的 go 版本与我的
/usr/local/go/src/VERSION
文件不同步。

我删除了

/usr/local/go/
中的go文件,以及
/usr/bin/
中的go和go-1.8文件夹。然后我重新安装了 go
/usr/local/go

现在,当我以用户身份运行

go env
时,输出看起来是正确的。然而(标题),当我
sudo
时,没有识别任何go命令,并且我收到以下消息:程序“go”可以在以下包中找到: * 戈兰戈 * gccgo-go

作为用户,我的一些 go env 输出是:

GOPATH="/home/{me}/go"
GOROOT="/usr/local/go"

作为用户,我的

echo $PATH
是:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin:/home/{me}/go/bin

我的

~/.profile
包括:

export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

请帮忙? :)

go installation failed-installation ubuntu-17.10
2个回答
1
投票

您应该在另一个社区询问,例如:unix & linux

但是,问题是,当您以 root 身份登录时,PATH 变量将按照 root 用户的配置进行设置。你必须配置 root 用户的 PATH 环境变量,或者运行 su/sudo 如下:

su --preserve-environment -
sudo --preserve-env bash

0
投票

我刚刚遇到了同样的问题,我所要做的就是再次转到我的根目录和 ~/.profile 上的导出路径并使用 刷新它。 ~/.profile 并且它起作用了。希望这有用。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.