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 的特定版本:
shell 复制代码
go install golang.org/dl/go1.20@latest
  1. 使用 go1.20 dowmload 命令进行下载
  • windows 会默认下载到 %USERPROFILE%\sdk下 这里实在C 盘;unix可能会下载到 ~/go 下
  • 如果是windows 的话 我做了一个链接,因为我配置了 GOSDK的变量(值是你要下载其他版本go的总目录),不生效,因此 我先做了链接
shell 复制代码
 1. 先创建一个用于保存其他 go 版本的目录
 2. 使用链接命令链接过去 
   mklink /D C:\Users\tianwenxiang\sdk E:\Gosdk
 3. 下载 go 版本
 go1.20 download
 4. 下载完成后执行 
 go1.20 version  
 之后通过版本号指定使用其他版本的go 命令  
 这个也是可以被goland 识别的 sdk


使用goland 方法

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

相关推荐
小码哥_常1 小时前
解锁AI编程密码:程序员常用的10个AI提示词
后端
九转成圣2 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio2 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython2 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫2 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch2 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI2 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0012 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念2342 小时前
f5 shape分析
开发语言·javascript·ecmascript
苍穹之跃2 小时前
某量JS逆向
开发语言·javascript·ecmascript