在日常开发工作过程中,很多时候我们都需要在自己的机器上安装多个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. CNCF即将推出平台成熟度模型丨亮点导览

    今年年初,云原生计算基金会(CNCF)发布了平台白皮书(点击这里查看中文版本).白皮书描述了云计算内部平台是什么,以及它们可以为企业提供的价值. 为了进一步挖掘平台对企业的价值,为企业提供一个可以评估 ...

  2. linux 只查看 java 进程

    top $(ps -e | grep java | awk '{print $1}' | sed 's/^/-p/')

  3. 转换 nvarchar 值 '81000000825' 时溢出了整数列

    转换 nvarchar 值 '81000000825' 时溢出了整数列

  4. Mac 修改文件默认打开方式

    Mac 播放 swf Flash文件 选中文件,Command+i 打开简介 不过文件图标还没变过来.重新下明天再看看

  5. C# async await 异步执行方法封装 替代 BackgroundWorker

    BackWork代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; us ...

  6. Educational Codeforces Round 82 (Rated for Div. 2) A. Erasing Zeroes(超简单的写法)

    题意: 统计间隔在1中0的个数 思路: 超简单写法,直接利用string的find.rfind函数即可 #include<bits/stdc++.h> using namespace st ...

  7. 深入浅出开源监控系统Prometheus(上)

    本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/4NC4spF6cEvXuIBKVbIU7A作者:ZhangShuo Prometheus是继 ...

  8. Win10中docker的安装与使用

    1.docker的安装 环境准备 Docker for Windows是一个Docker Community Edition(CE)应用程序.Docker for Windows安装包包含了在Wind ...

  9. 三、java连接mongo数据库

    系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...

  10. Mysql 开启慢日志查询及查看慢日志 sql

    本文为博主原创,转载请注明出处: 目录:    1.Mysql 开启慢日志配置的查询    2. 通过sql 设置Mysql 的慢日志开启    3. 通过慢 sql 日志文件查看慢 sql  1.M ...