如何在Linux中安装和使用Go语言 Linux配置Golang环境的方法

2026-06-03电脑数码57495

结论:别用 yum install golang 装系统自带的 Go,版本太旧、不带 go mod、无法更新,几乎没法用于现代 Go 项目;应手动下载官方二进制包解压至 /usr/local/go 并配置 PATH,GOROOT 无需手动设置,go mod 默认启用,项目可置于任意路径。

直接说结论:别用 yum install golang 装系统自带的 Go,版本太旧、不带 go mod、无法更新,几乎没法用于现代 Go 项目。

为什么不能用包管理器装 Go(如 yumapt

CentOS/RHEL 的 yum install golang 默认装的是 go1.10 甚至更老的版本;Ubuntu 的 apt install golang 也常卡在 go1.18 前。这些版本:

  • 默认关闭 GO111MODULEgo mod 不生效,依赖管理会失败
  • 缺少新语法支持(比如泛型、try 语句等)
  • go env -w 不可用,无法持久化配置
  • 升级只能重装,不能 go install 自己升级

正确安装方式:手动解压 + 配置 PATH(推荐到 /usr/local/go

这是最稳定、可控、与官方文档一致的方式:

  • 从 golang.google.cn 或阿里云镜像(如 https://mirrors.aliyun.com/golang/)下载最新 .tar.gz 包,例如:go1.22.3.linux-amd64.tar.gz
  • sudo tar -C /usr/local -xzf go*.tar.gz 解压(确保目标是 /usr/local/go
  • 编辑 ~/.bashrc~/.zshrc,只加这一行:export PATH=$PATH:/usr/local/go/bin
  • 运行 source ~/.bashrc,再执行 go version 验证

注意:GOROOT 不需要手动设——只要 goPATH 里,它会自动推导出 GOROOT;设错反而会导致 go build 找不到标准库。

CentOS Linux 7.9.2009

CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。

下载

go mod 初始化和 GOPATH 的真实角色

Go 1.16+ 默认启用模块模式,GOPATH 已退居二线:

  • 新建项目时,进空目录执行 go mod init example.com/hello 即可启用模块,无需提前设 GOPATH
  • GOPATH 现在只影响 go install 安装二进制的位置(即 $GOPATH/bin),以及 go get 下载的旧式包缓存路径($GOPATH/pkg/mod 已被 GOMODCACHE 取代)
  • 如果你不运行 go install,完全可以不设 GOPATH;设了也建议只设为 $HOME/go,避免权限问题
  • 验证模块是否启用:go env GO111MODULE 应输出 on;若为 autooff,执行 go env -w GO111MODULE=on

常见错误现象及修复

遇到这些提示,基本就是环境变量或模块配置没对:

  • command not found: go → 检查 echo $PATH 是否含 /usr/local/go/bin,确认 source 执行成功
  • go: go.mod file not found in current directory or any parent → 当前目录没 go mod init,不是 GOPATH 问题
  • build constraints exclude all Go files → 文件名不是 .go 后缀,或放在了 $GOPATH/src 下但没按包路径组织(现代项目完全不用管这个)
  • cannot find package "xxx" → 模块未 go getgo mod tidy,不是 GOPATH 缺失导致的

真正容易被忽略的点只有一个:你不需要把项目放到 $GOPATH/src 下,也不需要按 github.com/user/repo 路径建目录——go mod 之后,项目可以放在任意位置,go run . 照样工作。

《如何在Linux中安装和使用Go语言 Linux配置Golang环境的方法.doc》

下载本文的Word格式文档,以方便收藏与打印。