在Ubuntu上安装Golang和gccgo

笔记

本文是 2025 年的安装记录。原文使用的 PPA 与固定版本号不应继续照搬:Ubuntu 仓库中的 Go/GCCgo 版本会随发行版变化。普通 Go 交叉编译通常只需要官方 Go 工具链,不需要 GCCgo。请参阅 Go 官方安装指南 和 GCCgo 指南。

最近刚开始学习Golang,因为需要在Linux上交叉编译,但是感觉这个过程非常麻烦,故留下这篇笔记。下面列出按当前 Ubuntu 仓库查询和安装软件包的方式;如果你只是需要 Go 交叉编译,直接安装 Go 工具链即可。

检查Ubuntu软件包版本

不建议为这份旧记录添加原先的 PPA。先查看 Ubuntu 当前仓库提供的 Go 版本:

sudo apt update
apt-cache policy golang-go

安装Golang

如果仓库版本满足需求,可以安装发行版维护的 golang-go:

sudo apt install golang-go
go version

安装Gccgo

如果确实需要 GCCgo,请先查询当前发行版可用的版本化软件包。包名和版本随 Ubuntu 发行版而变:

apt-cache search '^gccgo-[0-9]+$'

根据查询结果安装适用于当前发行版的包,例如 gccgo-<版本号>,然后使用对应的版本化命令并检查编译器版本。不要照搬旧笔记中的 gccgo-14。

我当时只安装了 GCCgo,并没有成功用它编译自己的项目。GCCgo 并不是常规 Go 交叉编译的必要条件;需要它时请先阅读 GCCgo 官方说明。

设置环境变量

通过 Ubuntu 软件包安装时,go 通常由系统路径提供;先运行 command -v go 与 go version 检查。若按 Go 官方指南手动安装,按指南将 Go 的 bin 目录加入 PATH,不要复制下面旧版本的固定路径。

`apt` 包的具体路径以发行版为准;手动安装时请遵循 Go 官方指南的 PATH 配置说明。