推荐从官方二进制包手动安装 Go:下载 linux-amd64.tar.gz 解压至 /usr/local/go,配置 PATH=/usr/local/go/bin,验证 go version 和 go mod init 正常工作。

直接用系统包管理器安装的 Go 版本通常太旧(比如 Ubuntu 22.04 自带 go1.18,而当前稳定版已是 go1.22),且无法多版本共存;推荐从官方二进制包手动安装,可控、干净、无依赖污染。
下载并解压官方 Go 二进制包
去 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 找最新 linux-amd64.tar.gz 链接(ARM 服务器选 linux-arm64.tar.gz)。别用 apt install golang —— 它装的是 /usr/lib/go,权限受限,升级麻烦。
- 运行
wget https://www.php.cn/link/81836b7cd16991abb7febfd7832927fdgo1.22.5.linux-amd64.tar.gz(以1.22.5为例) -
sudo rm -rf /usr/local/go(清理旧安装) sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
配置 GOPATH 和 PATH 环境变量
GOPATH 不再是必须项(Go 1.16+ 默认启用模块模式),但 PATH 必须包含 /usr/local/go/bin,否则终端找不到 go 命令。别把 go 装到 ~/go 下再加进 PATH —— 这容易和 GOPATH 混淆,且非 root 用户可能没权限写系统级路径。
- 编辑
~/.bashrc或~/.zshrc,追加:export PATH=$PATH:/usr/local/go/bin - 执行
source ~/.bashrc(或对应 shell 配置文件) - 验证:
go version应输出go version go1.22.5 linux/amd64
验证安装并初始化一个模块
只跑 go version 不够——得确认 go mod 能正常工作,因为生产环境几乎全用模块管理依赖。如果 go mod init 报错 “cannot find module”,说明 GO111MODULE 被意外关闭或 GOROOT 错乱。
立即学习“go语言免费学习笔记(深入)”;
- 新建测试目录:
mkdir ~/hello && cd ~/hello - 运行
go mod init hello(会生成go.mod) - 写个最小
main.go:package main import "fmt" func main() { fmt.Println("ok") } -
go run main.go输出ok即通过
注意:如果你在 Docker 容器或 CI 环境中部署,别漏掉 /usr/local/go/bin 加入 PATH 的步骤——很多镜像默认不包含它;另外,go build 产物默认静态链接,无需额外装 libc 兼容层,这点比 Node.js 或 Python 更省心。










