在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
版权归原作者 程序员界的小趴菜 所有, 如有侵权,请联系我们删除。