【推荐】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 项目地址。
作者联系方式:
- 邮箱:mortal
- 问题反馈:GitHub Issues