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

 更新时间:2026年06月22日 09:05:51   作者:願君多采撷  
最近在使用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
  • auto:只要项目包含go.mod文件的话启用Go module。Go1.11-1.14的默认值。
  • on:启用Go module。目前(1.17)默认值。
  • off:禁用Go module。

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后,无需额外设置。

总结

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

相关文章

  • 详解如何在 Linux 中安装最新的 Python 3.6 版本

    详解如何在 Linux 中安装最新的 Python 3.6 版本

    本篇文章主要介绍了详解如何在 Linux 中安装最新的 Python 3.6 版本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • Mac OS X中设置VIM语法高亮的方法

    Mac OS X中设置VIM语法高亮的方法

    大家应该都知道在默认情况下,使用vim打开文本文件都是灰蒙蒙的一片,当我们要在其中查询某个字符的时候也看的不清楚。但是,其实是有办法解决这种困境。下面这篇文章就给给大家分享了在Mac OS X中设置VIM语法高亮的方法,有需要的朋友们可以参考借鉴,下面来一起看看。
    2016-11-11
  • Linux监控系统磁盘IO的方法汇总

    Linux监控系统磁盘IO的方法汇总

    在现代分布式系统和高并发服务架构中,磁盘 I/O 性能往往是系统瓶颈的重要来源,本文将从基础命令工具开始,逐步深入到 Java 程序如何集成磁盘监控,最终构建一个完整的自动化监控体系,需要的朋友可以参考下
    2026-03-03
  • Linux环境下安装JDK1.8

    Linux环境下安装JDK1.8

    本文详细讲解了Linux环境下安装JDK1.8的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-11-11
  • ubuntu中python调用C/C++方法之动态链接库详解

    ubuntu中python调用C/C++方法之动态链接库详解

    这篇文章主要给大家介绍了关于如何在ubuntu中python调用C/C++方法之动态链接库的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-11-11
  • Ubuntu如何修改时区为UTC/CST时间

    Ubuntu如何修改时区为UTC/CST时间

    这篇文章主要介绍了Ubuntu如何修改时区为UTC/CST时间问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 详解Linux下JDK、Tomcat的安装及配置

    详解Linux下JDK、Tomcat的安装及配置

    本篇文章主要介绍了详解Linux下JDK、Tomcat的安装及配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • linux中设置nexus开机自启动的方法

    linux中设置nexus开机自启动的方法

    这篇文章主要介绍了linux中设置nexus开机自启动的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • linux下挂载VHD等虚拟磁盘文件的方法

    linux下挂载VHD等虚拟磁盘文件的方法

    本篇文章主要介绍了linux下挂载VHD等虚拟磁盘文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Windows 10 下安装 Apache 2.4.41的教程

    Windows 10 下安装 Apache 2.4.41的教程

    这篇文章主要介绍了Windows 10 下安装 Apache 2.4.41的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01

最新评论