推荐使用gvm或asdf管理多版本Go,生产环境可手动安装并切换;gvm通过命令安装、切换版本,asdf支持多语言统一管理,手动方式则通过解压不同版本并调整软链接和环境变量实现。

在开发过程中,不同项目可能依赖不同版本的 Go,因此需要在系统中管理多个 Go 版本并能快速切换。Golang 官方没有提供类似
pyenv
或
nvm
的多版本管理工具,但我们可以借助第三方工具或手动方式实现灵活切换。
使用 gvm 管理多版本 Go
gvm(Go Version Manager)是社区常用的 Go 多版本管理工具,支持安装、卸载和切换多个 Go 版本。
安装 gvm:
打开终端,运行以下命令:
立即学习“go语言免费学习笔记(深入)”;
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer.sh)
安装完成后,重启终端或执行:
source ~/.gvm/scripts/gvm
常用操作命令:
列出可安装版本:
gvm listall
安装指定版本:
gvm install go1.20.7
或
gvm install go1.21.5
查看已安装版本:
gvm list
切换当前版本:
gvm use go1.21.5
设置默认版本:
gvm use go1.21.5 --default
卸载某个版本:
gvm uninstall go1.19.3
手动管理多版本(推荐用于生产环境)
对于追求稳定和可控性的用户,可以手动下载不同版本的 Go 并通过修改环境变量切换。
步骤如下:
从 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 下载所需版本的 Go 压缩包(如
go1.20.7.linux-amd64.tar.gz
) 解压到指定目录,例如:
sudo tar -C /usr/local/go1.20.7 -xzf go1.20.7.linux-amd64.tar.gz
sudo tar -C /usr/local/go1.21.5 -xzf go1.21.5.linux-amd64.tar.gz
创建软链接指向当前使用的版本:
sudo ln -sf /usr/local/go1.21.5 /usr/local/golang
配置环境变量(在
~/.bashrc
或
~/.zshrc
中添加):
export GOROOT=/usr/local/golang
export PATH=$GOROOT/bin:$PATH
重载配置:
source ~/.bashrc
切换版本方法:
只需更改软链接指向目标版本:
sudo ln -sf /usr/local/go1.20.7 /usr/local/golang
然后重新加载 shell 配置即可生效。
使用 asdf 管理多种运行时(含 Go)
asdf 是一个通用的版本管理工具,支持 Node.js、Python、Ruby、Go 等多种语言。
安装与配置:
安装 asdf:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1
添加插件:
asdf plugin-add golang https://github.com/kennyp/asdf-golang.git
安装 Go 版本:
asdf install golang 1.21.5
全局或局部设置版本:
asdf global golang 1.21.5
(全局)
asdf local golang 1.20.7
(当前项目)
这种方式适合同时管理多种技术栈的开发者。
基本上就这些。根据使用场景选择合适的方式:日常开发推荐 gvm 或 asdf,生产环境建议手动管理确保稳定性。
以上就是Golang安装多版本管理与切换方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1405912.html
微信扫一扫
支付宝扫一扫