Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Ubuntu安装指定版本的go环境

Ubuntu安装指定版本的go环境全过程

作者:願君多采撷

最近在使用ubuntu20.04时,自带的go版本为go1.10,版本比较老导致无法有效使用,所以参考了网上各路大神的教程,自己总结了一份go环境安装,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1.查看go原来的安装位置

go env

在GOPATH这里可以看到我虚拟机里go的位置在/usr/lib,版本为1.10(下一步rm时要结合自己的具体版本)

然后将/usr/lib里原来的go版本删除掉

sudo rm -rf /usr/lib/go
sudo rm -rf /usr/lib/go-1.10
sudo apt-get remove golang
sudo apt-get remove golang-go
sudo apt-get autoremove

2.下载安装并设置环境变量

之后进入想要安装go的目录,仍以/usr/lib为例(也可以为/usr/local),在网上下载指定版本的go压缩包,或者可以用远程软件上传,以下载为例

cd /usr/lib
#wget 后面的下载链接请去golang官网(https://golang.google.cn/dl/)获取你想下载的对应go版本,以最新的1.20.5版本为例
sudo wget https://golang.google.cn/dl/go1.20.5.linux-amd64.tar.gz
# 解压
sudo tar -zxvf go1.20.5.linux-amd64.tar.gz

然后ls查看文件已存在

之后设置环境变量,将go加入到环境变量里

sudo vim /etc/profile

点击i插入,在最后一行后面添加如下语句

export GOROOT=/usr/lib/go
export GOPATH=$HOME/gowork
export GOBIN=$GOPATH/bin
export PATH=$GOPATH:$GOBIN:$GOROOT/bin:$PATH

如图所示

然后点击Esc,输入:wq保存并退出,并更新环境变量使之生效

source /etc/profile

但是这种方式只在本终端里生效,关闭终端后,重新打开环境变量又会失效,除了重新启动系统之外,可以在用户根目录的/.bashrc修改

sudo vim ~/.bashrc

在最后一行下添加

source /etc/profile

之后更新.bashrc文件

source ~/.bashrc

3.查看是否配置成功

go env

4.go mod的环境变量设置

GO111MODULE

go在1.1.1版本后才有moudle模式,因此起名111。

允许设置为以下参数:

go env -w GO111MODULE=on

GOPROXY

主要用于设置模块代理,可以通过设置的网站,快速拉取模块版本。第三方依赖库下载的源地址。默认值是:https://proxy.golang.org,direct(需要科.学上网)

常见的国内代理有:

(1)阿里云:https://mirrors.aliyun.com/goproxy/

(2)七牛云:https://goproxy.cn,direct

go env -w GOPROXY=https://goproxy.cn,direct

添加direct的话,如果当前代理路径找不到,会到包所在的原路径找。

查看当前值:go env|grep GOPROXY

注意

(1)设置的镜像地址GOPROXY,同时也会代理GOSUMDB的检查工作,因此可以不用重复设置GOSUMDB。

(2)对于有些通过https://goproxy.cn代理无法访问的网站,可能要配置虚拟机科学上网。

GOSUMDB

用于在拉取模块版本的时候,保证拉取到的数据未经过篡改。如果发现不一致,即可能发现篡改,将会立即终止。

默认值是:sum.golang.org(国内无法访问,需要科学上网)

查看当前值:

go env | grep GOSUMDB

如果不希望校验,可以将该值改为off

该值能够被Go模块代理所代理,因此我们可以通过GOPROXY来解决默认值无法直接访问的问题,因此设置GOPROXY后,无需额外设置。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文