• centos7中多版本go安装


    安装go的方式

    1. 官网下载tar.gz包安装
    # 1.下载tar包
    wget https://go.dev/dl/go1.18.1.linux-amd64.tar.gz
    # 2.解压tar包到指定路径
    tar -xvf go1.18.1.linux-amd64.tar.gz -C /usr/local/go1.18
    # 3.配置环境变量,打开  /etc/profile 文件添加以下文件每次开机时候都会自动导入环境变量
    # /etc/profile、/etc/environment、~/.bashrc和~/.profile这四个文件都与环境变量的设置有关,但它们在系统启动时加载的顺序和作用有所不同 这一点需要注意
    export GO111MODULE=on
    export GOROOT=/usr/local/go1.18
    export GOPATH=/root/gopath
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. yum安装go
    # 1.导入GPG密钥
    rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO
    # 2. curl 来获取 https://mirror.go-repo.io/centos/go-repo.repo 文件的内容,然后通过 tee 命令将内容写入到 /etc/yum.repos.d/go-repo.repo 文件
    curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
    # 3. yum安装go 默认安装的最新版本 我这边默认安的是1.21
    yum install golang
    # 4. 使用find命令查询go安装到哪里
    find / -name "go"
    # 5. 由下图分析/usr/local/go1.18是通过tar命令解压的,那么/usr/lib/golang中的go应该就是通过yum安装的1.21版本的go了。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    分析go安装路径
    3. 对于多版本如何配置环境变量
    对于两个版本go来说只需要配置GOPATH GOROOT即可
    配置下述命令到~/.bashrc中,如果还配置了/etc/profile中需要注意可能会出现变量加载多次情况(建议只在一处配置),

    # go 1.18环境变量
    # export PATH=/usr/local/go1.18/bin:$PATH
    # export GOPATH=/root/gopath1.18
    # export GOROOT=/usr/local/go1.18
    # go 1.21环境变量 想要激活那个环境变量就保留那三个export 然后source ~/.bashrc即可
    export PATH=/usr/lib/golang/bin:$PATH
    export GOPATH=/root/gopath1.21
    export GOROOT=/usr/lib/golang
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这次主要是想了解以下以下几个问题:

    1. linux环境中多版本go如何配置
    2. yum安装go和wget tart安装go路径是否相同
    3. 对于 profile和.bashfile环境变量文件的加载顺序。

    后续可以扩展的:
    1.yum是否可以安装两个不同版本的go,这样的话go都在/usr/lib/golang文件中 环境变量配置比较好看
    2.通过tar包安装两个不同版本的go,配置环境变量(这个试过了,可以用)

  • 相关阅读:
    【LeetCode】51、N皇后
    Apache Hive之数据查询
    通过 Grafana 对prometheus 监控做可视化
    公司招人:34岁以上两年一跳的不要,开出工资以为看错了
    ZZNUOJ_用Java编写程序实现1585:super prime(附源码)
    这些常见的python编码习惯,你都会吗
    IB学生喜欢申请哪些英国院校?
    CPS攻击案例(一)——基于脉冲宽度调制PWM的无人机攻击
    y84.第四章 Prometheus大厂监控体系及实战 -- prometheus告警机制进阶(十五)
    redis悲观锁和乐观锁
  • 原文地址:https://blog.csdn.net/weixin_43751285/article/details/134233263