0


Ubuntu中安装了go,但是root下,不能用

在root下输入go version命令后显示

oot@ubuntu-virtual-machine:/home/ubuntu# go-version

Command 'go' not found, but can be installed with:

snap install go         # version 1.18.2, or
apt  install golang-go  # version 2:1.13~1ubuntu2
apt  install gccgo-go   # version 2:1.13~1ubuntu2

See 'snap info go' for additional versions.

root@ubuntu-virtual-machine:/home/ubuntu# goland -version

Command 'goland' not found, but can be installed with:

snap install goland

解决方案:
第一步:安装ssh并配置允许root登录

安装ssh服务,命令:sudo apt-get install openssh-server
开启ssh的22端口,命令:sudo vim /etc/ssh/sshd_config,将Port注释去掉

允许root用户远程登录,命令:sudo vim /etc/ssh/sshd_config,修改成如下

重启服务,命令:sudo /etc/init.d/ssh restart

在这里插入图片描述
在这里插入图片描述

第二步:配置环境变量

#编辑系统配置文件
vim ~/.bashrc

#最后一行加上如下两行
export GOPATH=/usr/local/go
export PATH=$GOPATH/bin:$PATH

#重新执行初始化文件使修改后的新配置立即生效
source ~/.bashrc

第三步:查看配置是否成功

go version

#返回了warning
warning: GOPATH set to GOROOT(/usr/local/go) has no effect
go version go1.17.5 linux/amd64

vim ~/.bashrc

#修改一下前面配置的参数
export GOROOT=/usr/local/go  
export GOPATH=$PATH:$GOROOT/bin 

source ~/.bashrc

#重试
go version

#warning消失
go version go1.17.5 linux/amd64

如果一二进行之后,还是不可以,加上第三步
sudo执行提示找不到go
网上下载的go程序,如二进制文件一般要用 ./[xxx] 来执行。如果是在普通用户登录的shell,那么很有可能返回permission denied。此时你会想到加上sudo。然而你又收到了新的错误:

sudo: go: command not found

如果已经配置好了go的环境变量,那么理论上无论是在普通用户还是root用户下都可以正常执行go指令。但使用sudo时实际上参照了单独的配置文件/etc/sudoers,因此sudo go是找不到go的位置的,需要配置该文件:

sudo vim /etc/sudoers

#修改以下行,加入/usr/local/go/bin/,用冒号隔开

Defaults    secure_path =/sbin:/bin:/usr/sbin:/usr/bin

#修改后

Defaults    secure_path =/usr/local/go/bin/:/sbin:/bin:/usr/sbin:/usr/bin

原文链接:

https://blog.csdn.net/qq_37589805/article/details/123378918
https://blog.csdn.net/qq_42503717/article/details/122183205

标签: ubuntu golang linux

本文转载自: https://blog.csdn.net/weixin_42375493/article/details/125206863
版权归原作者 程序员界的小趴菜 所有, 如有侵权,请联系我们删除。

“Ubuntu中安装了go,但是root下,不能用”的评论:

还没有评论