gopher必备神器,连 CTO 都在用的 Go 多版本神器,你还没装?

112 阅读2分钟

【推荐】GVM - Go 语言开发必备的版本管理神器

在Go开发中,经常遇到不同项目需要不同版本的Go语言,这让版本管理变得繁琐。为了提升开发效率,我向大家推荐一款神器——GVM(Go Version Manager)

GVM 是一个集 Go 版本管理与项目管理于一体的 CLI 工具,灵感来源于 Node.js 的 nvm 和 Rust 的 cargo。无论是切换不同版本、安装新版本,还是创建 Go 项目,GVM 都能轻松搞定。


🔧 技术亮点

  • Go语言 实现,运行高效
  • Cobra 框架 支持交互式命令行操作
  • 纯净 Go 标准库,无额外依赖

🚀 功能速览

1️⃣ 版本管理

  • gvm list – 列出本地或远程 Go 版本
  • gvm install – 安装指定版本
  • gvm use – 切换 Go 版本
  • gvm uninstall – 卸载 Go 版本
  • gvm upgrade – 更新 GVM 本身

2️⃣ 项目管理

  • gvm new – 创建新项目,可指定 Go 版本与 module

3️⃣ 配置管理

  • gvm config – 查看、设置和删除 GVM 配置

相关截图

gvm ls   # 列举本地已安装的版本号

# 可以移动上下游标,可以过滤版本号,相关快捷键如下
#↑/k up • ↓/j down • / filter • x uninstall • u use • q quit • ? more

在这里插入图片描述

gvm ls -r  # 获取golang官网支持的所有版本号

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

gvm install 1.23  # 也可以直接指定版本安装

在这里插入图片描述

📋 快速上手

列出版本

# 本地版本
gvm list

# 远程可用版本
gvm list -r

# 指定类型(稳定/非稳定/归档)
gvm list -r -t stable
gvm list -r -t unstable
gvm list -r -t archived

安装/切换/卸载版本

# 安装
 gvm install go1.21

# 切换
 gvm use go1.21

# 卸载
 gvm uninstall go1.21

创建项目

# 当前版本创建
 gvm new myproject

# 指定版本创建
 gvm new myproject -V 1.21.0

# 指定 module
 gvm new myproject -m github.com/xxx/myproject

配置管理

# 查看配置
gvm config list

# 获取配置
gvm config get mirror

# 设置配置
gvm config set mirror https://golang.google.cn/dl/

# 删除配置
gvm config unset custom_setting

💡 为什么选择 GVM?

  • 提升效率:无需手动管理多版本 Go 环境
  • 轻松切换:一条命令就能在不同版本间切换
  • 项目专属版本:每个项目可以独立管理 Go 版本
  • 简化配置:支持自定义下载源和其他配置

快速安装

curl -sSL https://raw.githubusercontent.com/code-innovator-zyx/gvm/main/install.sh | bash

# 如果无法访问github, 可以使用以下命令安装
curl -sSL https://raw.githubusercontent.com/code-innovator-zyx/gvm/main/install.sh | bash -s -- --source gitee

GVM 已经开源,欢迎贡献代码或提出建议,我身边没有windows电脑,还需要测试windows 的兼容性,目前mac和linux 都没问题。更多信息请访问 GitHub 项目地址


作者联系方式: