goget配置多个golang 运行环境

一台主机安装多个golang 运行环境

  • 本环境 windows10 为 基础 mac linux也可以按照此方法操作
背景

开发不同的运维工具会用到不同版本的golang,但是开发者不能一直进行重装来处理 ,因此 需要一个工具进行golang版本的管理

go管理工具介绍

gvm (Go Version Manager):
一个流行的 Go 版本管理工具,可以使用它来安装多个版本的 Go,并在它们之间切换。它是类似于 nvm (Node Version Manager) 的 Go 版本。[https://github.com/moovweb/gvm]

asdf:
是一个可扩展的版本管理器,使用插件系统来支持许多编程语言和工具的版本管理,其中包括 Go。[https://asdf-vm.com/]

goenv:
提供了对 Go 版本的精准控制,并能简单地在不同的 Go 版本之间切换。类似于 Ruby 的 rbenv 工具。[https://github.com/syndbg/goenv]

Gobrew:
使用非常简单的命令行接口,用户可以安装、卸载、切换 Go 的不同版本。[https://github.com/cryptojuice/gobrew]

g:
g 是一个轻量级的 Go 版本管理器,它允许你在系统上快速切换不同的 Go 版本。[https://github.com/stefanmaric/g]

goget:
是 go get 命令的增强版本,用于下载和更新依赖包,但现在大多数场合建议使用 Go 模块。

我们这里主要介绍的是 go get 的方式

zip包方法-手动安装

这里不推荐 因为我使用的是goland 我安装两套go环境后,指定 sdk 目录 goland 识别不到,技术大佬可以尝试下
链接: https://www.cnblogs.com/rainbow-tan/p/17735258.html

go get 管理方法
  • 前提是我们需要提前安装一个常用的 go 版本,我这里常用的是 go1.19
  1. 运行 go install 命令来下载和安装 go1.20 的特定版本:
go install golang.org/dl/go1.20@latest
  1. 使用 go1.20 dowmload 命令进行下载
  • windows 会默认下载到 %USERPROFILE%\sdk下 这里实在C 盘;unix可能会下载到 ~/go 下
  • 如果是windows 的话 我做了一个链接,因为我配置了 GOSDK的变量(值是你要下载其他版本go的总目录),不生效,因此 我先做了链接
 1. 先创建一个用于保存其他 go 版本的目录2. 使用链接命令链接过去 mklink /D C:\Users\tianwenxiang\sdk E:\Gosdk3. 下载 go 版本go1.20 download4. 下载完成后执行 go1.20 version  之后通过版本号指定使用其他版本的go 命令  这个也是可以被goland 识别的 sdk

在这里插入图片描述
在这里插入图片描述

使用goland 方法

这里不过多介绍 网上都有方案

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

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

相关文章

微服务保护和分布式事务(Sentinel、Seata)笔记

一、雪崩问题的解决的服务保护技术了解 二、Sentinel 2.1Sentinel入门 1.Sentinel的安装 (1)下载Sentinel的tar安装包先 (2)将jar包放在任意非中文、不包含特殊字符的目录下,重命名为 sentinel-dashboard.jar &…

【C++报错】error C2143:语法错误:缺少“ : ”(在“<” 的前面)[ 相互引用问题 ]

这里写自定义目录标题 情景再现问题分析是经典的互相引用问题 解决方案 情景再现 问题分析 template<class K,class T,class KeyofT,class Hash>class __HTIterator{typedef HashNode<T> Node;typedef HashTable<K, T, KeyofT, Hash> HT; 【★】typedef …

Halcon如何制作标定板的关键点

前面用下面算子生成文件和PS文件&#xff0c;我就不说了&#xff0c;太多人说了 gen_caltab(7,7,0.0125,0.5,caltab_120mm.descr,120_120.ps) 生成之后&#xff0c;大部分人.ps文件是用PhotoShop打开&#xff0c;然后去打印&#xff0c;再做后续的标定等工序&#xff0c;但是打…

基于springboot+vue+Mysql的网上商城购物系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

Java创建并遍历N叉树(前序遍历)

力扣 title589&#xff1a;N叉树的前序遍历 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示&#xff0c;每组子节点由空值 null 分隔&#xff08;请参见示例&#xff09;。 思路&#xff1a; 1.初始化时…

AtCoder Beginner Contest 351 E题 Jump Distance Sum

E题&#xff1a;Jump Distance Sum 标签&#xff1a;思维题意&#xff1a;在坐标平面上&#xff0c;有 N N N个点 P 1 , P 2 , … , P N P_1,P_2,…,P_N P1​,P2​,…,PN​&#xff0c;其中点 P i P_i Pi​的坐标为 ( X i , Y i ) (X_i,Y_i) (Xi​,Yi​)。两点 A A A与 B B B之…

[ACTF2020 新生赛]BackupFile 1 [极客大挑战 2019]BuyFlag 1 [护网杯 2018]easy_tornado 1

目录 [ACTF2020 新生赛]BackupFile 1 1.打开页面&#xff0c;叫我们去找源文件 2.想到用disearch扫描&#xff0c;发现源文件index.php.bak 3.访问这个文件&#xff0c;下载一个文件&#xff0c;用记事本打开 4.翻译php代码 5.构造payload url/?key123&#xff0c;得到fl…

在不同操作系统上自动生成Protocol Buffers的Java语言包的方法2

在《在不同操作系统上自动生成Protocol Buffers的Java语言包的方法》中我们使用了protobuf-maven-plugin插件来给Proto文件生成Java语言版代码。本文我们将使用一种更简单的插件来完成这个功能。 本文实验的操作系统和代码库都和《在不同操作系统上自动生成Protocol Buffers的J…

如何配置和使用Apollo的component里的plugin

关于如何使用Apollo的Component里的plugin&#xff0c;在Apollo的文档里只有如果和开发的说明却没有找到一个清楚完整说明怎么把plugin跑起来的说明&#xff0c;例如我想把lidar_detection_filter按我们的需求对目标过滤算法作修改然后编译完后&#xff0c;执行 cyber_launch …

IoTDB 入门教程④——数据库用户管理和用户权限管理

文章目录 一、前文二、修改ROOT密码三、用户登录四、查看用户列表五、创建用户六、删除用户七、修改用户八、查看指定用户的权限范围九、添加指定用户的权限范围十、删除指定用户的权限范围十一、参考 一、前文 IoTDB入门教程——导读 本文主要讲述数据库用户管理和用户权限管理…

【七十三】【算法分析与设计】516. 最长回文子序列,二叉树,329. 矩阵中的最长递增路径,记忆化递归填表

516. 最长回文子序列 给你一个字符串 s &#xff0c;找出其中最长的回文子序列&#xff0c;并返回该序列的长度。 子序列定义为&#xff1a;不改变剩余字符顺序的情况下&#xff0c;删除某些字符或者不删除任何字符形成的一个序列。 示例 1&#xff1a; 输入&#xff1a;s &qu…

《QT实用小工具·五十一》带动画的 CheckBox

1、概述 源码放在文章末尾 该项目实现了带动画效果的多选框&#xff0c;鼠标放在上面或者选中都会呈现炫酷的动画效果&#xff0c;demo演示如下&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef LINEARCHECKBOX_H #define LINEARCHECKBOX_H#include <QCheckBox> …

2024年北京高校数学建模校际联赛竞赛赛题浅析

一图流&#xff1a; 题目复杂性技术需求数据处理主要难点A题&#xff1a;格陵兰入海冰川3气象学、物理学、环境科学时间序列分析、空间数据处理多学科集成、预测模型的准确性和策略制定B题&#xff1a;铁道线路动态检测数据分析1数据科学、机器学习、信号处理实时数据流处理、异…

Vue Json stringify() 转换和过滤

参考 JS/TS 对象转成JSON string 字符串 过滤其中的部分项 allMenu.value.forEach((_item) > {console.log(JSON.stringify(_item, [menuId]))})console.log(JSON.stringify(_item, [menuId, menuName])) 一下方法需要进一步核对&#xff0c;没有调试通过 console.log(JS…

OPPO手机支持深度测试+免深度测试解锁BL+ROOT权限机型整理-2024年3月更新

绿厂OPPO手机线上线下卖的都很不错&#xff0c;目前市场份额十分巨大&#xff0c;用户自然也非常多&#xff0c;而近期ROM乐园后台受到很多关于OPPO手机的私信&#xff0c;咨询哪些机型支持解锁BL&#xff0c;ROOT刷机&#xff0c;今天ROM乐园正式盘点当前市场上可以解BL刷root…

Mysql-黑马

Mysql-黑马 编写规范&#xff1a;## 一级1. 二级三级 1.Mysql概述 数据库概念mysql数据仓库 cmd启动和停止 net start mysql180 net stop mysql180备注&#xff1a;其中的mysql180是服务名 客户端连接 远程连接数据仓库 -h 主机号 -P端口号 mysql [-h 127.0.0.1] [-P 33…

1083 是否存在相等的差

solution 输出的是重复的差值&#xff0c;而非全部差值 #include<iostream> #include<algorithm> using namespace std; const int maxn 1e4 10; int flag[maxn] {0}; int main(){int n, x;scanf("%d", &n);for(int i 1; i < n; i){scanf(&…

python 如何判断是函数还是方法 (function or method)

示例代码&#xff1a; def test_fn():passclass Test(object):staticmethoddef s_fn():passclassmethoddef c_fn(cls):passdef my_fn(self):pass如何判断是可调用的方法&#xff1a; hasattr(test_fn, __call__) # true hasattr(Test.s_fn, __call__) # true hasattr(Test.c…

一文全面了解 wxWidgets 布局器(Sizers)

目录 Sizers背后的理念 共同特征 最小大小 边框 对齐方式 伸缩因子 使用 Sizer 隐藏控件 wxBoxSizer wxStaticBoxSizer wxGridSizer wxFlexGridSizer 布局器&#xff08;Sizers&#xff09;&#xff0c;由wxWidgets类层次结构中的wxSizer类及其派生类表示&#xff0…

个人博客建设必备:精选域名和主机的终极攻略

本文目录 &#x1f30f;引言&#x1f30f;域名的选择&#x1f315;域名的重要性品牌识别营销和宣传可访问性和易记性信任和权威感搜索引擎优化&#xff08;SEO&#xff09;未来的灵活性和扩展性保护品牌 &#x1f315;如何选择域名&#x1f315;工具与资源分享国内的主流域名注…