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

go 多版本共存【goup + alias方案】

一、需求背景

以go1.21为主,临时可以快速切换到go1.23,且只有当前窗口生效

二、安装

安装 goup

go install github.com/owenthereal/goup/cmd/goup@latest

安装 go1.23

# 注意这里是安装新的sdk,如果你本地存在相同版本的话,应该保持统一用goup安装的
goup install go1.23.1

用goup选择 go1.23.1

goup set go1.23.1

三、使用命令快速切换

!!! 这步非常关键,原因在于 goup set go1.23.1 只是让能使用go1.23.1,但是
GOBIN,GOROOT 没有设置,我们可以用一个bash别名来在使用的时候做临时设置,这样就不会污染主环境,又可以快速切换(仅本次生效)
打开~/.bashrc

vim ~/.bashrc

在最后新开一行下面的命令,然后保存

alias mc='goup set go1.23.1 && export PATH="/root/.go/current/bin:$PATH" && export GOROOT="/root/.go/current" && export GOBIN="/root/.go/current/bin"'

最后生效命令:

source ~/.bashrc

说明,/root/.go/current/ 是goup set go1.23.1 设置后生效的go目录,是一个软链接。
使用:

mc  #使用后即可切换到 go1.23
## 然后打印是看是否生效
echo $GOROOT	
echo $GOBIN
echo $PATH
go version
http://www.dtcms.com/a/337265.html

相关文章:

  • React diff Vue diff介绍
  • 【2025CVPR-目标检测方向】RaCFormer:通过基于查询的雷达-相机融合实现高质量的 3D 目标检测
  • 牛子图论进阶
  • TEST_
  • Linux系统启动原理及故障排除
  • 场外个股期权的行权日是t+多少个交易日?
  • 【牛客刷题】最大公约数与最小公倍数:算法详解与实现
  • linux中的hostpath卷与nfs卷以及静态持久卷的区别
  • JAiRouter 架构揭秘:一个面向 AI 时代的响应式网关设计
  • Flutter 自定义 Switch 切换组件完全指南
  • 技术经典场景之协议转换
  • IR-CUT与CCD CMOS的关系
  • 国标:开展环境卫生满意度调查
  • 【P18 3-10】OpenCV Python—— 鼠标控制,鼠标回调函数(鼠标移动、按下、。。。),鼠标绘制基本图形(直线、圆、矩形)
  • 【笔记】和各大AI大语言模型合作写项目—slirp.go
  • 之前说的要写的TCP高性能服务器,今天来了
  • 算法题打卡力扣第26. 删除有序数组中的重复项(easy))
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(4):31-40语法
  • 在react props中在参数中定义参数类型
  • Leetcode 16 java
  • 发布npmjs组件库
  • 政策技术双轮驱动智慧灯杆市场扩容,塔能科技破解行业痛点
  • 使用AWS S3 + Lambda + MediaConvert 实现上传视频文件并自动转码
  • 像素风球球大作战 HTML 游戏
  • 隐秘参数APP:全面了解手机硬件信息与优化性能
  • 从零开始搭建React+TypeScript+webpack开发环境——多环境配置管理方案
  • WMS仓库管理系统如何远程访问?
  • RAID服务器
  • qsort函数使用及其模拟实现
  • 视觉语言导航(2)——VLN RNN TRANSFORMER 与ATTENTION 2.2+LSTM(单独一节)