在日常开发工作过程中,很多时候我们都需要在自己的机器上安装多个go版本,像是go1.16引入的embed,go1.18引入了泛型;又或是自己本地使用的是最新版,但公司的项目中使用的go1.14、go1.13甚至是更早的版本。

那么有没有既不影响我们自己的本地环境,又能兼顾历史项目的办法呢?答案当然是肯定的:有!!!我这里介绍下官方的方案

以我本地的环境为例,我使用的是go1.20.4,项目中使用的是go1.17,具体操作如下:

# 查看本地本部
$ go version
go version go1.20.4 linux/amd64 # 安装指定的发行版本
$ go install golang.org/dl/go1.17.12@latest
go: downloading golang.org/dl v0.0.0-20230502172222-5216546bad51
$ go1.17.12 download
Downloaded 0.0% ( 16384 / 135035038 bytes) ...
Downloaded 0.8% ( 1032192 / 135035038 bytes) ...
Downloaded 2.5% ( 3375088 / 135035038 bytes) ...
......
Downloaded 98.0% (132284400 / 135035038 bytes) ...
Downloaded 99.6% (134561792 / 135035038 bytes) ...
Downloaded 100.0% (135035038 / 135035038 bytes)
Unpacking /root/sdk/go1.17.12/go1.17.12.linux-amd64.tar.gz ...
Success. You may now run 'go1.17.12' # 验证
$ go1.17.12 version
go version go1.17.12 linux/amd64

至此,多版本的go环境就已经安装完成了,使用的时候只需要指定相应的go版本即可:

# 使用go1.20
$ go build
# 使用go1.17
$ go1.17.12 build

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。

Author: mengbin

blog: mengbin

Github: mengbin92

cnblogs: 恋水无意


go多版本管理的更多相关文章

  1. linux系统下使用流行的版本管理工具 Git

    前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...

  2. 版本管理工具svn简介

    svn简介 SVN是一种C/S架构的版本管理软件 , 能够帮助我们保存开发过程中各个文件的所有历史版本, 你因此可以方便的找回软件的任何一个历史状态., 日常开发中经常用到. 安装使用 1.  在 u ...

  3. Git 版本管理的简单理解

    来源:百度知道 现在使用Git版本管理代码的项目非常多.但是Git本身是一条复杂的系统.我从几个简单的点来说明Git的基本功能.希望能帮助初学者快速入门. 工具/原料   Git code dot j ...

  4. GIT版本管理工具

    原文:http://blog.csdn.net/ithomer/article/details/7527877 Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介 ...

  5. MacOS下Python的多版本管理(pyenv)

    与windows下设置绝对路径不同,pyenv使用了一种更优雅的方式来管理Python的版本.pyenv通过在$PATH的最前面插入一个垫片路径(shims),例如:~/.pyenv/shims:/u ...

  6. 版本管理-SVN本地版本管理

    0. 引言 使用工具是人与动物的基本区别,善用工具可以极大的提高效率,降低错误率.在PC软件领域,有很多好用的工具,这些工具都是软件工程重要的基础设施.然而,嵌入式开发,在其代码数量上,很多时候由于没 ...

  7. [BI项目记]-配置Sharepoint2013支持文档版本管理笔记

    做开发或者做方案,写文档是很重要的一个工作,我们经常需要知道文档被修改的次数,谁在什么时间修改的文档,以及在某一个版本中,都修改了哪些内容,以及不同版本的文档之间有什么差别. 如何对文档进行版本管理, ...

  8. [BI项目记]-文档版本管理笔记

    代码的版本管理程序员们有专门的工具,那么作为项目管理人员如何进行文档版本的管理呢,此篇介绍如何通过SharePoint进行文档版本管理. 在没有SharePoint的时代我们如何管理版本呢?通常我们会 ...

  9. 目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?以及Github的注册过程

    一.目前流行的源程序版本管理软件和项目管理软件有Microsoft TFS.GitHub.SVN.Coding等. 二.各有什么优缺点 三.在GitHub注册账户的过程 Microsoft TFS的优 ...

  10. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?并在Github注册账户,写一篇博客记录注册的过程。

    问题一:上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?(以下内容为网上查询所得) Microsoft TFS(Team Foundation Server): 优点: ...

随机推荐

  1. 如何通过appuploader把ipa文件上传到App Store教程步骤​

    iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store!​ 下面进行步骤介绍!​ 利用Appuploader这个软件,可以在Windows.Linux或Mac系统中 ...

  2. 让快更快,火山引擎 ByteHouse 为 ClickHouse 提速

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近日,火山引擎数智平台VeDI与DataFun联合举办以"OLAP计算引擎"为主题的直播活 ...

  3. 机器学习的线性代数(Python 版)

    线性代数是数学的分支学科,涉及矢量.矩阵和线性变换.它是机器学习的重要基础,从描述算法操作的符号到代码中算法的实现,都属于该学科的研究范围. 虽然线性代数是机器学习领域不可或缺的一部分,但二者的紧密关 ...

  4. 【Docker】docker介绍 什么是虚拟化 容器与虚拟机比较 Docker 概念 docker安装

    目录 docker介绍 什么是虚拟化 docker是什么 容器与虚拟机比较 Docker 概念 docker安装 docker介绍 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization ...

  5. BBS项目(三):侧边栏筛选功能 文章详情页搭建 点赞点踩功能 文章根评论功能

    目录 复习与补充 侧边栏筛选功能 文章详情页搭建 点赞点踩样式搭建 点赞点踩功能完善 文章评论前期准备 文章根评论业务逻辑 练习 复习与补充 admin后台管理复习: admin.py文件中注册模型表 ...

  6. IntelliJ IDEA项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved

    IntelliJ IDEA项目导入时报错: The import javax.servlet.http.HttpServletRequest cannot be resolved 翻译一下错误信息是说 ...

  7. iviews Radio组件如何获取key而不是value

    iviews RadioGroup 官网里介绍Radio组件获取的值都是name属性没有value 例如: <template> <Space wrap size="lar ...

  8. 洛谷 P9916 「RiOI-03」Just a Q. (Easy ver.) 题解

    前言 Div.2 Rank \(13\) 获奖了,题目也好评. 解法 题目链接:\(\color{Purple}\texttt{P9916「RiOI-03」Just a Q. (Easy ver.)} ...

  9. 如何实现 Excel 表格转置(行列互换)

    直接上经验贴: https://baijiahao.baidu.com/s?id=1690475581736550777&wfr=spider&for=pc 大概就是 先复制粘贴,在粘 ...

  10. C++数据结构(树)

    树是一种递归定义的数据结构,如果树中节点的各子树从左到右是有次序的,不能互换,则称该树为有序树,否则叫无序树. 关于树的节点: 节点拥有的子树的个数叫做节点的度 如果度为0,那么该节点叫做叶节点或终端 ...