Skip to content

Go 安装 for Linux ​

本文档介绍在 Linux 系统上安装 Go 语言环境的多种方法。

方法一:使用官方二进制包安装(推荐) ​

1. 下载 Go 安装包 ​

访问 Go 语言 下载页面 或直接使用以下命令下载最新版本:

bash
# 下载 Go 1.21.5(示例版本,请根据实际需要修改)
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz

2. 解压安装包 ​

将下载的压缩包解压到 /usr/local 目录:

bash
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz

3. 配置环境变量 ​

编辑 ~/.bashrc 或 ~/.profile 文件,添加以下内容:

bash
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

使环境变量立即生效:

bash
source ~/.bashrc

4. 验证安装 ​

bash
go version

你应该会看到类似如下的输出:

bash
go version go1.21.5 linux/amd64

方法二:使用包管理器安装 ​

Ubuntu/Debian ​

bash
sudo apt update
sudo apt install golang-go

CentOS/RHEL ​

bash
sudo yum install epel-release
sudo yum install golang

Fedora ​

bash
sudo dnf install golang

Arch Linux ​

bash
sudo pacman -S go

注意:通过包管理器安装的版本可能不是最新的。如需最新版本,建议使用方法一。

方法三:使用 Snap 安装 ​

如果您的系统支持 Snap,可以使用以下命令安装:

bash
sudo snap install go --classic

配置 Go 模块代理(中国大陆用户) ​

如果您在中国大陆,建议配置 Go 模块代理以加速依赖下载:

bash
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

或者使用七牛云代理:

bash
go env -w GOPROXY=https://goproxy.io,direct

设置 Go 工作空间 ​

创建 Go 工作空间目录结构:

bash
mkdir -p $HOME/go/{bin,pkg,src}

卸载 Go ​

如果需要卸载 Go,执行以下命令:

bash
sudo rm -rf /usr/local/go

并从 ~/.bashrc 或 ~/.profile 中删除相关的环境变量配置。

下一步 ​

安装完成后,您可以:

完整示例 ​

安装完成后,用下面的程序在命令行验证工具链。复制到文件后执行 go run main.go。

go
package main

import (
	"fmt"
	"os/exec"
	"runtime"
	"strings"
)

func main() {
	out, err := exec.Command("go", "version").Output()
	fmt.Println("go command found in PATH:", err == nil)
	fmt.Println("version output starts with go:", err == nil && strings.HasPrefix(string(out), "go"))
	fmt.Println("GOROOT is set:", runtime.GOROOT() != "")
}

预期输出:

text
go command found in PATH: true
version output starts with go: true
GOROOT is set: true

常见错误与踩坑 ​

  • 把 bin 目录加入 PATH。 解压到 /usr/local/go 后,在 ~/.profile 或 /etc/profile.d 中导出 /usr/local/go/bin。
  • 发行版仓库版本较旧。 需要新版 Go 时应使用官方压缩包,而不是发行版仓库。
  • 多版本共存用符号链接。 把 /usr/local/go 指向 go1.22 之类的目录,切换更方便。
  • 避免 sudo go build。 root 所有的缓存目录会导致后续构建出现权限错误。
  • 升级前先删除旧目录。 在同一路径叠加两个版本会出现混乱的版本输出。

更新记录 ​

  • 2026-10-14:新增"阅读提示"、完整可运行示例(含预期输出)、常见错误与踩坑清单,以及本更新记录;修复了页面底部指向不存在页面的相对链接。