GVM:Go语言版本和包管理的神器!

简介: GVM,Go版本管理器,简化了在单机上切换不同Go版本的任务。

在 Go 开发中,不同的项目可能需要不同的 Go 版本。这时候,GVM(Go Version Manager)就像是一个救星,它允许您在同一台机器上轻松切换不同版本的 Go。以下是如何安装和使用 GVM 来管理您的 Go 版本。

为什么需要 GVM?

在进入使用之前,让我们先聊聊为什么需要GVM。

想象一下,你同时在开发两个项目:一个需要Go1.16版本,而另一个项目必须使用Go1.21版本因为它使用了Go最新的特性。这时候,如果没有GVM,你就得不停地手动安装和卸载不同版本的Go,这不仅麻烦,而且很容易出错。GVM的出现就是为了解决这类问题。

安装 GVM

安装 GVM 是一个相当简单的过程,你只需要执行下面的命令即可:

# 通过curl安装GVM
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

或者,你也可以选择下载脚本然后执行,这两种方式哪种方便就用哪种:

# 下载脚本方式安装GVM
curl -o gvm-installer https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer 
chmod +x gvm-installer
./gvm-installer

查看和安装 Go 版本

一旦GVM安装成功,你可以很容易地查看所有可用的Go版本:

gvm listall

然后,你可以选择安装一个指定的Go版本,比如Go1.16.5:

# 安装Go1.16.5版本
gvm install go1.16.5

切换 Go 版本

安装好特定版本的Go后,你可以通过以下命令切换正在使用的Go版本:

# 使用Go1.16.5版本
gvm use go1.16.5
# 将Go1.16.5设置为默认版本
gvm use go1.16.5 --default

卸载 Go 版本

如果你不再需要特定版本的Go,GVM也提供了卸载的选项:

# 卸载Go1.16.5版本
gvm uninstall go1.16.5

完全卸载 GVM

如果你想要完全卸载掉GVM,包括它安装的所有Go版本,可以通过以下命令:

gvm implode

这将删除GVM和所有相关的Go版本。如果gvm implode出现问题,你也可以手动删除GVM根目录:

rm -rf $GVM_ROOT

然后,记得从你的~/.bashrc~/.zshrc 文件中删除相关的GVM脚本行。

使用 GVM pkgset 管理项目依赖

GVM的另一个强大功能是它能让你为每个项目创建隔离的环境(称为pkgset),这样你就可以为每个项目维护不同版本的依赖包而互不干扰。

首先,使用一个特定的版本:

gvm use go1.21.0

创建一个新的pkgset:

# 创建名为 `ppGvm` 的 pkgset
gvm pkgset create ppGvm

在创建后,你可以通过以下命令切换到使用该pkgset:

gvm pkgset use ppGvm

此时,你就可以在这个隔离的环境下安装或者更新项目所需的依赖包了。


GVM不但帮你解决了版本冲突的问题,而且通过pkgset功能,还能帮你为每个项目创建独立的工作环境。

无论你是Go的初学者,还是经验丰富的开发者,GVM都是你管理Go版本的好帮手。

相关文章
|
1天前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
1天前
|
Go
go语言注释,标识符 | 17
go语言注释,标识符 | 17
|
2天前
|
存储 缓存 Go
go语言编程系列(五)
go语言编程系列(五)
|
2天前
|
搜索推荐 Java 编译器
go语言编程系列(四)
go语言编程系列(四)
|
1天前
|
存储 缓存 安全
速成班!去繁存简,一文让你学会go语言基础!!
速成班!去繁存简,一文让你学会go语言基础!!
|
2天前
|
存储 JSON 安全
go语言编程系列(七)
go语言编程系列(七)
|
2天前
|
存储 安全 编译器
go语言编程系列(六)
go语言编程系列(六)
|
2天前
|
自然语言处理 Java 测试技术
go语言编程系列(二)
go语言编程系列(二)
|
2天前
|
编译器 Go
go语言编程系列(三)
go语言编程系列(三)
|
2天前
|
安全 Java Go
Go语言编程系列(一)
Go语言编程系列(一)