wget https://studygolang.com/dl/golang/go1.13.4.linux-amd64.tar.gz # 解压,权限不够的话要加sudo sudo tar xfz go1.17.5.linux-amd64.tar.gz -C /usr/local配置环境变量
#编辑系统配置文件 vim ~/.bashrc #最后一行加上如下两行 export GOPATH=/usr/local/go export PATH=$GOPATH/bin:$PATH #重新执行初始化文件使修改后的新配置立即生效 source ~/.bashrc
查看是否配置成功(如何处理warning):
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.13.4 linux/amd64sudo执行提示找不到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
再使用sudo就没有问题了。
Quotehttps://askubuntu.com/questions/118263/some-programs-not-found-when-used-with-sudo
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)