当前位置: 首页 > news >正文

Go语言本机多版本管理

go1.19.6 && go1.22.4

背景

当前安装的版本是1.22.4,但是对于某些项目有低版本的要求,所以说需要安装低版本

最终使用别名调用的方法

方法

安装go1.19.6压缩包

https://go.dev/dl/

我下载该go1.19.6.darwin-arm64.tar.gz包

解压缩到指定的文件夹

tar -C /usr/local/go1.19.6 -xzf go1.19.6.darwin-arm64.tar.gz

配置环境变量

打开你的shell配置文件(.bash_profile.zshrc,取决于你使用的shell)。

nano ~/.bash_profile 如果你使用的是bash nano ~/.zshrc 如果你使用的是zsh

添加以下行来设置GOROOTPATH环境变量。

# Go 1.19.6 environment variables
export GOROOT_1_19_6=/usr/local/go1.19.6/go 
export PATH=$PATH:$GOROOT_1_19_6/bin

使用别名调用不同版本的Go

在配置文件中为不同的Go版本设置别名:

# Aliases for Go versions 
alias go1.19.6='/usr/local/go1.19.6/go/bin/go' 
alias go1.22.3='/usr/local/go1.22.3/go/bin/go'

请确保替换/usr/local/go1.19.6/go/bin/go/usr/local/go1.22.3/go/bin/go为实际的Go二进制文件路径。

保存并关闭文件。

使环境变量和别名生效

source ~/.bash_profile 如果你使用的是bash 
source ~/.zshrc 如果你使用的是zsh

现在,当你想要使用Go 1.19.6版本时,只需在终端中输入go1.19.6命令,而使用Go 1.22.3版本时,直接使用go命令。

效果

user@userdeMacBook-Air ~ % go1.19.6 version go version go1.19.6 darwin/arm64 
user@userdeMacBook-Air ~ % go1.22.4 version go version go1.22.4 darwin/arm64 
user@userdeMacBook-Air ~ % go version go version go1.22.4 darwin/arm64

相关文章:

  • 鸿蒙AI功能开发【hiai引擎框架-人脸比对】 基础视觉服务
  • 【OpenCV C++20 学习笔记】霍夫圆形变换-Hough Circle Transform
  • Can‘t import openai in Node
  • 2024 某公司python 面试真题
  • C# Unity 面向对象补全计划 泛型约束
  • 代码随想录算法训练营第三十九天 | 322. 零钱兑换、279.完全平方数、139.单词拆分、多重背包理论基础、背包问题总结
  • 到底是低度还是高度的白酒对身体的伤害更大?
  • Linux网络编程3
  • 20240807 每日AI必读资讯
  • UNI-APP_点击,长按,触摸,结束触摸事件
  • 【C/C++笔记】:易错难点3 (二叉树)
  • Redis哨兵集群部署 一主两从三哨兵以及持久化
  • 动态规划之——背包DP(进阶篇)
  • 网络原理(2)——封装和分用
  • 鸿蒙图形开发【3D引擎接口示例】
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • css选择器
  • JAVA SE 6 GC调优笔记
  • JAVA_NIO系列——Channel和Buffer详解
  • MySQL数据库运维之数据恢复
  • Spring Boot快速入门(一):Hello Spring Boot
  • SQLServer插入数据
  • text-decoration与color属性
  • vue:响应原理
  • 如何优雅地使用 Sublime Text
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 通过git安装npm私有模块
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 学习笔记TF060:图像语音结合,看图说话
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 计算机视觉入门
  • #{} 和 ${}区别
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (4)STL算法之比较
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (javaweb)Http协议
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (四)Controller接口控制器详解(三)
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转)重识new
  • ***详解账号泄露:全球约1亿用户已泄露
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core 中的路径问题
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .net连接MySQL的方法
  • .pyc文件是什么?
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @Autowired和@Resource装配
  • @EventListener注解使用说明
  • @JsonSerialize注解的使用