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
相关推荐
H_oRIZoN_33 分钟前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
GeW2 小时前
RHCE备考别瞎学!按这个计划走,30天提高通过率,快速拿证
linux
Escalating_xu2 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊2 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
码农小韩3 小时前
Linux应用开发(六)——进程间通信
linux·linux驱动·嵌入式软件开发·嵌入式操作系统·linux应用
cui_hao_nan4 小时前
从零搭建 Kubernetes 集群:Ubuntu + kubeadm 完整实战
ubuntu·容器·kubernetes
笨笨饿4 小时前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
m0_459872924 小时前
Linux 系统基础
linux·运维·服务器
吴声子夜歌4 小时前
Shell编程——数组
linux·运维·shell
blueSatchel4 小时前
ros-humble仿真-建图-导航
linux·ros2