最稳妥的安装方式是手动下载官方二进制包并配置PATH:下载linux-amd64.tar.gz解压至/usr/local,设GOROOT=/usr/local/go且PATH=$GOROOT/bin:$PATH,再配置GO111MODULE=on和GOPATH=$HOME/go。

Golang 在 Linux 上最稳妥的安装方式是手动下载官方二进制包并配置 PATH,不推荐用系统包管理器(如 apt install golang)——版本老旧、更新滞后,且可能与项目依赖冲突。
下载并解压官方 Go 二进制包
去 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 找最新稳定版的 linux-amd64.tar.gz(ARM64 机器选 linux-arm64.tar.gz)。用 wget 下载后直接解压到 /usr/local:
wget https://www.php.cn/link/81836b7cd16991abb7febfd7832927fdgo1.22.5.linux-amd64.tar.gz sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
这一步必须用 sudo 写入 /usr/local,否则后续命令会因权限不足失败;解压前删掉旧 go 目录可避免残留干扰。
配置 GOROOT 和 PATH
GOROOT 指向 Go 安装根目录(即 /usr/local/go),PATH 需包含 $GOROOT/bin。写入 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc):
立即学习“go语言免费学习笔记(深入)”;
echo 'export GOROOT=/usr/local/go' >> ~/.zshrc echo 'export PATH=$GOROOT/bin:$PATH' >> ~/.zshrc source ~/.zshrc
注意:GOROOT 不是必须显式设置(Go 会自动推断),但显式声明能避免某些 IDE 或构建工具误判;$GOROOT/bin 必须放在 $PATH 开头,否则可能调用到系统其他位置的旧 go 命令。
验证安装并初始化模块路径
运行 go version 和 go env GOROOT 确认版本和路径正确:
go version # 应输出类似 go version go1.22.5 linux/amd64 go env GOROOT # 应输出 /usr/local/go
接着设置 GO111MODULE 和 GOPATH(虽 Go 1.16+ 默认启用模块,但显式设为 on 更稳妥):
go env -w GO111MODULE=on-
go env -w GOPATH=$HOME/go($HOME/go是默认值,但显式声明可避免 CI 或多用户环境下的歧义)
此时 go mod init example.com/hello 应能正常创建 go.mod 文件。
常见错误:command not found: go 或版本不对
这类问题几乎全是 PATH 没生效或被覆盖导致的:
- 检查
echo $PATH是否含/usr/local/go/bin;没出现说明source没执行或写错了配置文件 - 检查是否在 root shell 下装了 Go,但普通用户 shell 没重载配置
- 某些桌面环境(如 GNOME)不读
.zshrc,需把export行加到~/.profile - 运行
which go,若返回/usr/bin/go,说明系统自带 Go 仍在PATH前置位,要调整export PATH=...顺序
真正麻烦的不是安装步骤,而是环境变量在不同 shell、终端、GUI 应用间的加载差异——建议所有配置统一写入 ~/.profile,再在 ~/.zshrc 或 ~/.bashrc 里加一句 source ~/.profile。










