Linux 安装 Go 语言开发环境:从下载到配置的完整指南
在服务器端开发、云原生、微服务等领域,Go 语言凭借出色的并发性能和简洁的语法获得了大量开发者的青睐。很多后端项目都会选择在 Linux 服务器上部署 Go 应用,因此掌握在 Linux 系统上搭建 Go 开发环境是每位 Go 开发者的必备技能。
这篇文章将从零开始,一步步带你完成 Go 语言在 Linux 上的安装与配置,包括下载安装包、解压安装、环境变量设置、安装验证,以及国内代理加速等实用技巧。无论你使用的是 CentOS、Ubuntu 还是其他发行版,都可以参考本文完成环境搭建。
一、下载 Go 安装包
Go 官方提供了各个平台的预编译二进制包,我们只需要下载对应 Linux 平台的 .tar.gz 压缩包即可。
推荐下载地址:
- Go 官方下载页:https://go.dev/dl/
- Go 中文社区镜像:https://studygolang.com/dl
打开上面任意一个页面,找到你需要的版本(一般选择最新的稳定版),然后根据你的 CPU 架构选择对应的安装包。大多数云服务器是 amd64 架构,如果你使用的是 ARM 服务器则选择 arm64 版本。
方式一:本地下载后上传
在本地电脑下载好安装包,通过 scp 或 FTP 工具上传到 Linux 服务器。
方式二:在服务器上直接下载(推荐)
通过 wget 命令直接在服务器上下载,省去上传的步骤:
wget https://go.dev/dl/go1.24.0.linux-amd64.tar.gz如果提示
wget: command not found,说明系统还没有安装 wget。CentOS 系统可以执行yum install -y wget来安装,Ubuntu 系统执行apt install -y wget即可。
二、解压安装 Go
Go 语言的安装非常简单,不需要编译,只需要把压缩包解压到指定目录就算安装完成了。
官方推荐的安装路径是 /usr/local,解压后会在该目录下生成一个 go 文件夹:
sudo tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz解压完成后,可以查看一下目录结构,确认文件已经到位:
ls /usr/local/go你应该能看到 bin、src、pkg 等目录,这就说明解压成功了。
注意: 如果你之前安装过旧版本的 Go,建议先删除旧目录再解压新版本,避免文件冲突:
sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz
三、配置环境变量
安装完成后,还需要配置环境变量,让系统能够识别 go 命令,同时设置好 Go 的工作目录。
3.1 了解关键环境变量
在配置之前,先了解几个重要的环境变量:
| 变量名 | 作用 | 建议值 |
|---|---|---|
GOROOT |
Go 的安装目录 | /usr/local/go |
GOPATH |
Go 的工作空间目录,用于存放依赖包和编译产物 | $HOME/go |
PATH |
系统命令搜索路径,需要加入 Go 的 bin 目录 |
追加 $GOROOT/bin 和 $GOPATH/bin |
3.2 编辑配置文件
如果你希望所有用户都能使用 Go,可以编辑全局配置文件 /etc/profile;如果只为当前用户配置,编辑 ~/.bashrc 或 ~/.bash_profile 即可。
这里以全局配置为例:
sudo vi /etc/profile在文件末尾追加以下内容:
# Go 语言环境变量
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin保存退出后,执行以下命令让配置立即生效:
source /etc/profile提示: 如果你使用的是
zsh,需要将上面的配置写入~/.zshrc文件中,然后执行source ~/.zshrc。
四、验证安装结果
配置完成后,运行以下命令检查 Go 是否安装成功:
go version如果一切正常,你会看到类似这样的输出:
go version go1.24.0 linux/amd64再通过 go env 命令确认环境变量是否正确:
go env GOROOT GOPATH输出应该与你配置的路径一致:
/usr/local/go
/root/go看到以上输出,说明 Go 语言开发环境已经安装配置成功了。
五、配置 Go Module 代理(国内用户推荐)
从 Go 1.11 开始引入了 Go Module 作为官方的依赖管理方案,到现在已经是默认启用的模式。但由于很多 Go 依赖库托管在 GitHub、Google 等国外平台上,国内服务器直接拉取依赖时经常会遇到超时或者速度极慢的问题。
解决办法是配置国内的 Go Module 代理,让依赖下载走国内镜像:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct配置完成后,后续使用 go get、go mod tidy 等命令下载依赖时,速度会有明显提升。
其他可选的国内代理地址:
- 七牛云代理:
https://goproxy.cn - 阿里云代理:
https://mirrors.aliyun.com/goproxy/
你可以根据自己的网络情况选择响应最快的代理。
六、编写第一个 Go 程序
环境搭好之后,我们写一个简单的程序来验证整个开发流程是否顺畅。
首先创建项目目录并初始化模块:
mkdir -p ~/hello && cd ~/hello
go mod init hello然后创建 main.go 文件:
vi main.go输入以下内容:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go on Linux!")
}保存后运行:
go run main.go如果终端输出了 Hello, Go on Linux!,恭喜你,Go 开发环境已经完全就绪了。
七、常见问题
Q1:执行 go 命令提示 “command not found” 怎么办?
这通常是环境变量没有生效导致的。请检查以下几点:
- 确认
/usr/local/go/bin目录下确实存在go可执行文件 - 检查
/etc/profile或~/.bashrc中的PATH配置是否正确 - 执行
source /etc/profile重新加载配置 - 如果是通过 SSH 新开的终端,配置可能还没加载,重新登录试试
Q2:GOROOT 和 GOPATH 有什么区别?
GOROOT 是 Go 语言本身的安装目录,里面包含了编译器、标准库等核心文件,一般不需要手动修改里面的内容。GOPATH 是你的工作空间,go get 下载的第三方依赖包会存放在这里,你自己的项目编译产物也会放在这里的 bin 目录中。
Q3:安装新版本时需要卸载旧版本吗?
需要。Go 不支持多版本共存(除非你使用第三方版本管理工具),升级前建议先删除旧的安装目录:
sudo rm -rf /usr/local/go然后按照本文步骤重新解压新版本即可。
Q4:Ubuntu 和 CentOS 的安装步骤有区别吗?
Go 的安装步骤在各个 Linux 发行版上几乎是一样的,因为我们采用的是官方预编译包解压安装的方式,不依赖系统的包管理器。唯一的小区别在于缺少 wget 时的安装命令不同(CentOS 用 yum,Ubuntu 用 apt)。
Q5:go env -w 设置的代理在哪里保存的?
通过 go env -w 设置的环境变量会保存在 $HOME/.config/go/env 文件中,这是一个持久化配置,重启终端后依然有效。你可以通过 go env 命令查看所有当前生效的配置。
八、总结
本文介绍了在 Linux 系统上安装和配置 Go 语言开发环境的完整流程,主要包括以下几个步骤:
- 下载安装包:从官方或国内镜像站获取对应平台的 Go 二进制压缩包
- 解压安装:将压缩包解压到
/usr/local目录,无需编译 - 配置环境变量:设置
GOROOT、GOPATH和PATH,让系统识别go命令 - 验证安装:通过
go version和go env确认安装成功 - 配置代理:国内用户建议配置 Go Module 代理来加速依赖下载
- 运行测试:编写并运行第一个 Go 程序,验证开发环境完整可用
整个过程并不复杂,跟着步骤操作十分钟左右就能完成。Go 语言本身的安装设计也非常友好,解压即用,没有繁琐的编译和配置过程。环境搭建好之后,你就可以开始探索 Go 语言的各种特性,构建高性能的后端服务了。
如果大家在 Linux 上安装 Go 的过程中遇到了其他问题,或者有更好的配置技巧,欢迎在评论区一起交流讨论~~~
版权声明
未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!
本文原文链接: https://fiveyoboy.com/articles/linux-install-go-dev-environment/
备用原文链接: https://blog.fiveyoboy.com/articles/linux-install-go-dev-environment/