在Ubuntu系统上搭建Go语言开发环境时,除了直接使用官方预编译包,从源码编译安装能更灵活地选择特定版本,结合多版本管理工具还能满足不同项目的版本适配需求。下面详细介绍完整的操作流程。

一、源码编译安装Go语言前置准备
从源码编译Go语言需要先安装必要的依赖工具,打开终端执行以下命令安装所需组件:
# 更新软件源 sudo apt update # 安装编译所需的依赖工具 sudo apt install -y build-essential curl git wget
这些工具中,build-essential提供了编译所需的基础工具链,curl和wget用于下载源码,git用于拉取Go的源码仓库。
二、从源码编译安装Go语言
1. 下载Go源码
Go的官方源码托管在GitHub仓库,我们可以选择需要的版本进行下载,这里以Go 1.21.0版本为例:
# 进入用户家目录 cd ~ # 克隆Go源码仓库,切换到指定版本 git clone https://go.googlesource.com/go cd go git checkout go1.21.0
如果需要其他版本,只需将go1.21.0替换为对应的版本标签即可,所有版本标签可以在Go的官方仓库查看。
2. 执行编译安装
Go源码提供了自带的编译脚本,执行以下命令完成编译和安装:
# 进入源码编译目录 cd src # 执行编译脚本,指定安装路径为/usr/local/go ./make.bash
编译完成后,将Go安装到/usr/local/go目录下,接下来需要配置环境变量让系统识别Go命令。
3. 配置环境变量
打开终端配置文件,这里以bash为例,编辑~/.bashrc文件:
# 打开bashrc文件 nano ~/.bashrc # 在文件末尾添加以下内容 export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin # 保存退出后生效配置 source ~/.bashrc
配置完成后,执行go version命令,如果输出go version go1.21.0 linux/amd64,说明源码编译安装成功。
三、使用gvm实现Go多版本管理
手动编译安装不同版本的Go并切换环境变量比较繁琐,使用gvm(Go Version Manager)可以更便捷地管理多个Go版本。
1. 安装gvm
执行以下命令安装gvm:
# 安装gvm bash <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) # 生效gvm配置 source ~/.gvm/scripts/gvm
2. gvm常用操作
安装完成后,可以使用以下命令管理Go版本:
- 列出所有可安装的Go版本:
gvm listall - 安装指定版本的Go:
gvm install go1.20.0 - 切换使用的Go版本:
gvm use go1.20.0 --default,加上--default参数会设置为默认版本 - 列出已安装的Go版本:
gvm list - 卸载指定版本的Go:
gvm uninstall go1.20.0
使用gvm安装Go版本时,会自动处理源码编译和环境变量配置,无需手动操作,大大简化了多版本切换的流程。
四、验证多版本管理效果
我们可以安装两个不同版本的Go,验证切换是否正常:
# 安装go1.20.0版本 gvm install go1.20.0 # 切换到go1.20.0版本 gvm use go1.20.0 # 查看当前版本 go version # 输出应为go version go1.20.0 linux/amd64 # 再安装go1.21.0版本 gvm install go1.21.0 # 切换到go1.21.0版本 gvm use go1.21.0 # 查看当前版本 go version # 输出应为go version go1.21.0 linux/amd64
通过以上操作,就可以在Ubuntu系统上灵活管理多个Go版本,适配不同的项目开发需求。