Ubuntu 安装 gvm 管理 Go 语言开发环境

文章目录

  • 简介
  • 安装依赖
  • [安装 GVM](#安装 GVM)
  • [安装 Go 版本](#安装 Go 版本)
  • [Go 环境变量](#Go 环境变量)

简介

本文详细介绍如何在Ubuntu系统上使用GVM(Go Version Manager)搭建Go语言开发环境,包括GVM的安装、配置环境变量、安装和切换不同版本的Go语言,以及常用开发环境优化技巧。通过GVM,你可以轻松管理多个Go版本,满足不同项目的开发需求,提高Go开发效率和环境可控性。

安装依赖

bash 复制代码
sudo apt update
sudo apt install -y curl git mercurial make binutils bison gcc build-essential

安装 GVM

bash 复制代码
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
  • 安装完成后,重新加载 shell 配置
bash 复制代码
source ~/.gvm/scripts/gvm
  • 可以在 ~/.bashrc 或 ~/.zshrc 中添加这一行,让每次打开终端都自动加载
bash 复制代码
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
bash 复制代码
gvm version

安装 Go 版本

  • 查看可安装的 Go 版本
bash 复制代码
gvm listall
  • 安装指定版本
bash 复制代码
gvm install go1.25.0 -B  # -B 表示二进制安装,可加快速度
  • 列出已安装版本
bash 复制代码
gvm list
  • 设置默认版本
bash 复制代码
gvm use go1.25.0 --default
  • 查看 go 版本
bash 复制代码
go version
  • 切换 Go 版本
bash 复制代码
gvm use go1.24.0
  • 清理 Go modules 缓存
bash 复制代码
gvm use go1.24.2 && go clean -modcache
  • 卸载 Go 版本
bash 复制代码
gvm use go1.24.2 && go clean -modcache
gvm uninstall go1.24.2

Go 环境变量

bash 复制代码
vim ~/.bashrc
bash 复制代码
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
export GO_BINARY_BASE_URL=https://mirrors.aliyun.com/golang/
export G_MIRROR=https://golang.google.cn/dl/

[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
export GOROOT_BOOTSTRAP=$GOROOT
bash 复制代码
source ~/.bashrc
  • Go 环境信息
bash 复制代码
go env
相关推荐
pride.li3 小时前
开发板和Linux--nfs服务挂载
linux·运维·服务器
looking_for__3 小时前
【Linux】应用层协议
linux·服务器·网络
BB_CC_DD3 小时前
Linux截图工具(ubuntu18.04+flameshot(火焰截图))
linux
云泽8084 小时前
不止是命令:Linux 高频指令实战 + 芯片架构底层逻辑
linux·运维·服务器
j_xxx404_4 小时前
Linux:基础IO
linux·运维·服务器
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
Trouvaille ~6 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
chillxiaohan6 小时前
GO学习记录——多文件调用
开发语言·学习·golang
旅途中的宽~7 小时前
【深度学习】通过nohup后台运行训练命令后,如何通过日志文件反向查找并终止进程?
linux·深度学习
dump linux8 小时前
内核驱动调试接口与使用方法入门
linux·驱动开发·嵌入式硬件