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. 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了。

分析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. linux环境中多版本go如何配置
  2. yum安装go和wget tart安装go路径是否相同
  3. 对于 profile和.bashfile环境变量文件的加载顺序。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161206.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【缓存】Spring全家桶中@CacheEvict无效情况共有以下几种

Spring全家桶中CacheEvict无效情况共有以下几种 一、背景介绍二、原因分析三、解决方案 一、背景介绍 SpringBoot中使用Cacheable注解缓存数据,使用CacheEvict注解删除缓存。但是在项目使用过程中,发现使用CacheEvict注解删除缓存无效。 拓展&#xff…

ElementuiPlus的table组件实现行拖动与列拖动

借助了插件sortablejs。这种方法只适合做非树状table。如果想实现树状table&#xff0c;并且可拖动。可以试一下aggridVue3这个插件 <template><div class"draggable" style"padding: 20px"><el-table row-key"id" :data"t…

【3D图像分割】基于 Pytorch 的 VNet 3D 图像分割3(3D UNet 模型篇)

在本文中&#xff0c;主要是对3D UNet 进行一个学习和梳理。对于3D UNet 网上的资料和GitHub直接获取的代码很多&#xff0c;不需要自己从0开始。那么本文的目的是啥呢&#xff1f; 本文就是想拆解下其中的结构&#xff0c;看看对于一个3D的UNet&#xff0c;和2D的UNet&#x…

keepalived与nginx与MySQL

keepalived VRRP介绍 集群&#xff08;cluster&#xff09;技术是一种较新的技术&#xff0c;通过集群技术&#xff0c;可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益&#xff0c;其任务调度则是集群系统中的核心技术。 集群组成后&#xff0c;可…

IMU漂移相关

个人对IMU的漂移一直以来都很困惑&#xff0c;总结整理了这些材料&#xff0c;希望能理清楚一点思路。 总的来讲&#xff0c;IMU的漂移可建模为三部分&#xff0c;随机常值相关漂移白噪声&#xff0c; 但实际使用时&#xff0c;三者都出现的用法很少。严恭敏老师在博客中有相关…

【软件测试】工作内容

测试工程师工作&#xff1a; 阶段&#xff1a;编写测试计划测试用例、测试缺陷报告并执行测试用例&#xff1b;搭建Windows测试环境熟练&#xff1b;使用Bugzilla 提交软件缺陷报告 使用测试技术及工具&#xff1a;白盒测试黑盒测试 Loadrunner、Winrunner 能够运用边界值、等…

【ArcGIS Pro二次开发】(74):Python、C#实现Excel截图导出图片

以村庄规划制图为例&#xff0c;通过对现状和规划用地的统计&#xff0c;生成Excel格式的【空间功能结构调整表】后&#xff0c;需要进一步将表格导出成图片&#xff0c;并嵌入到图集中&#xff0c;这样可以实现全流程不用手动参与&#xff0c;让制图的流程完全自动化。 关于E…

【Mybatis小白从0到90%精讲】09:Mybatis动态SQL:if、where、set标签

文章目录 前言一、if 标签二、where 标签三、set 标签前言 动态SQL 是 Mybatis的亮点功能之一,如果你经历过 拼接SQL 的繁琐痛苦,那么你就能切身感受到动态SQL到底有多爽!真香哈~ 另外,Mybatis将动态SQL设计的如此自然,让人看看就能理解和接受,我想这也是Mybaits如此深…

CCF-CSP真题《202305-4 电力网络》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看&#xff1a;CCF-CSP真题附题解大全 试题编号&#xff1a;202305-4试题名称&#xff1a;电力网络时间限制&#xff1a;1.0s内存限制&#xff1a;512.0MB问题描述&#xff1a; 问题描述 西西艾弗岛电力公司需要修建一套电网对岛上的众…

LIME低亮度图像增强

LIME低亮度图像增强 main.cpp #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> #include <opencv2/imgproc/imgproc.hpp> #include "lime.h"int main() {cv::Mat img_in cv::imread("…

二维空间与三维空间的姿态表示法

二维空间与三维空间的姿态表示法 一、2D空间姿态表示法二、3D空间姿态表示法2.1 三个数表示空间姿态问题 2.2 九个数表示空间姿态问题 2.3 四个数表示空间姿态 结语Reference 假设&#xff0c;你有志成为我空军某航空旅歼-20飞行员&#xff0c;但要想开好飞机&#xff0c;那就得…

简单-【1 绪论】

关键字&#xff1a; 数据类型、数据结构定义、递归关键、线性结构、非线性结构、算法特性、算法目标、时间复杂度排序