您的位置:首页 >怎样在Ubuntu上编译Golang多版本
发布于2026-05-02 阅读(0)
扫一扫,手机访问

在Ubuntu系统上管理多个Go版本,听起来有点复杂,但其实只要理清步骤,整个过程会非常顺畅。无论是为了测试新特性,还是为了兼容不同的项目,多版本共存都是一个很实用的技能。下面,我们就来一步步拆解这个过程。
第一步,自然是获取你想要的Go版本源码。最稳妥的方式是直接访问Go语言的官方下载页面,那里提供了所有历史版本的源码包。选择你需要的版本下载到本地即可。
在动手编译之前,得先给系统“打好基础”。编译Go需要一些基本的开发工具。在Ubuntu上,打开终端,执行下面这组命令,就能一次性安装好所有必需的依赖包:
sudo apt-get update
sudo apt-get install -y build-essential wget git
这个步骤确保了你的系统拥有编译所需的环境。
源码包下载好后,通常是一个.tar.gz的压缩文件。我们把它解压到/usr/local目录,这是存放本地安装软件的常规位置:
tar -C /usr/local -xzf go.linux-amd64.tar.gz
cd /usr/local/go
注意,这里的需要替换成你下载的实际版本号,比如go1.21.5。
编译安装好后,关键的一步是让系统知道去哪找到这个新安装的Go。这就需要设置环境变量PATH。
打开你的用户配置文件,比如~/.bashrc(如果你用的是Bash),在文件末尾添加这一行:
export PATH=$PATH:/usr/local/go/bin
添加之后,别忘了让配置立即生效。执行下面这个命令:
source ~/.bashrc
当然,如果你习惯使用~/.profile,操作也是类似的。
好了,现在可以验收成果了。打开一个新的终端窗口,输入一个简单的命令:
go version
如果终端清晰地打印出了你刚刚安装的Go版本号,那么恭喜你,第一个版本已经成功就位。
想安装第二个、第三个版本?原理完全一样。只需重复上面的步骤1到5。但这里有个小技巧:为了避免覆盖,你可以在解压或设置路径时,使用不同的目录名。例如,将第二个版本解压到/usr/local/go1.20,并相应地调整环境变量指向这个新路径。
当系统里存在多个Go版本时,如何优雅地切换呢?Ubuntu自带的update-alternatives工具就是为此而生的。它可以帮助你管理系统命令的多个候选版本。
首先,为你安装的每个Go版本向系统注册一下。以注册go和gofmt命令为例:
sudo update-alternatives --install /usr/bin/go go /usr/local/go/bin/go 1
sudo update-alternatives --install /usr/bin/gofmt gofmt /usr/local/go/bin/gofmt 1
同样,记得替换为具体的路径标识。
注册完成后,切换版本就变得非常简单。只需运行:
sudo update-alternatives --config go
sudo update-alternatives --config gofmt
终端会列出一个列表,让你选择想设置为默认的版本编号,输入序号回车即可。
总结一下,整个过程的核心就是:下载源码、安装依赖、编译安装、配置路径、最后用系统工具管理切换。每新增一个版本,都别忘了重复配置环境变量和更新update-alternatives的注册信息。按照这个流程走下来,在Ubuntu上驾驭多个Go版本,就能做到游刃有余了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9