Go 语言(Golang)因其高效、并发友好的特性受到广泛欢迎,但 Go 的版本管理一直是开发者头疼的问题。尤其是在多个项目需要不同版本的 Go,或者 Go 版本升级时,手动管理 GOROOT 和 GOPATH 是一件麻烦事。幸运的是,我们可以使用 GVM(Go Version Manager)来轻松管理 Go 版本。本篇文章将详细介绍 GVM 的安装、使用方法,帮助你快速上手。
GVM(Go Version Manager) 是一个用于管理 Go 版本的工具,类似于 Node.js 的 nvm 或 Python 的 pyenv。它允许用户在同一台设备上安装、切换、删除多个 Go 版本,甚至管理 GOPATH,简化 Go 开发环境的维护。
在安装 GVM 之前,需要确保系统安装了 Bison(用于解析构建 Go 版本的工具):
Debian/Ubuntu:
sudo apt-get install bison
macOS(通过 Homebrew):
执行以下命令安装 GVM:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
如果使用 zsh
,只需将 bash
替换为 zsh
:
zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
安装完成后,运行以下命令使 GVM 生效:
source ~/.gvm/scripts/gvm
验证安装 输入以下命令,检查 GVM 是否安装成功:
如果正确安装,会显示 GVM 的版本号。
使用 gvm install
安装 Go,例如:
安装完成后,使用 gvm use
切换到此版本:
如果希望此版本成为默认版本,添加 --default
:
使用以下命令查看当前设备已安装的 Go 版本:
输出示例:
=> go1.20
go1.19
go1.18
当前使用的版本前会有 =>
标记。
如果想同时查看 weekly 版本:
如果不再需要某个 Go 版本,可以使用:
某些情况下,我们可能不希望编译 Go,而是直接安装官方的二进制版本:
-B
选项表示使用二进制安装,适用于不想手动编译的情况。
Go 1.5 及以后版本的编译需要一个已有的 Go 版本进行引导,因此我们需要先安装 Go 1.4:
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.7
如果你在 Raspberry Pi 等 ARM 设备上使用 GVM,需要从 Go 1.6 版本开始:
gvm install go1.21.0 -B
gvm use go1.21.0
gvm install go1.20.7
GVM 还可以管理不同的 GOPATH
,可以在不同项目间切换:
gvm pkgset create my_project
gvm pkgset use my_project
如果要删除:
gvm pkgset delete my_project
xcode-select --install
brew update
brew install mercurial
Debian/Ubuntu:
sudo apt-get install curl git mercurial make binutils bison gcc build-essential
RedHat/CentOS:
sudo yum install curl git make bison gcc glibc-devel
FreeBSD:
sudo pkg_add -r bash git mercurial
如果不再需要 GVM,可以使用以下命令完全移除:
这将删除 GVM 及所有安装的 Go 版本。
GVM 是管理 Go 版本的神器,特别适合需要频繁切换 Go 版本或维护多个项目的开发者。通过 GVM,你可以轻松安装、切换和管理不同版本的 Go,避免因版本不兼容导致的开发困扰。
如果你还没有使用 GVM,不妨试试看,让你的 Go 开发环境更加顺畅!🚀