Linux下安装Golang详细教程与配置方法
时间:2026-03-15 17:12:47 480浏览 收藏
在Linux系统上安装Go语言其实极其简单——无需编译源码,只需下载官方预编译二进制包、解压至`/usr/local`并正确配置`PATH`环境变量,即可让`go`命令全局可用;现代Go(1.16+)默认启用模块模式,`GOPATH`已非必需,盲目设置反而可能干扰开发,真正关键的是确保环境变量精准无误、避免使用过时的包管理器安装。本文手把手教你安全高效完成安装、验证及排错,帮你绕过常见陷阱,5分钟内迈出Go开发第一步。

Linux 上安装 Go 不需要编译源码,官方提供预编译的二进制包,直接解压 + 配置 PATH 即可生效。关键不是“装”,而是确保 go 命令全局可用且 GOPATH(或 GOBIN)不干扰模块化开发。
下载并解压官方二进制包
去 https://go.dev/dl/ 找最新稳定版的 linux-amd64.tar.gz(ARM 机器选 linux-arm64.tar.gz)。用 wget 下载后解压到 /usr/local 是最稳妥的做法:
wget https://go.dev/dl/go1.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
注意:tar 必须加 -C /usr/local 指定根目录,否则会解出 go/ 子目录,导致路径错位;不要用包管理器(如 apt install golang)装,版本老旧且路径混乱。
配置环境变量(重点在 PATH,慎设 GOPATH)
编辑 ~/.bashrc 或 ~/.zshrc,追加:
export PATH=/usr/local/go/bin:$PATH
然后运行 source ~/.bashrc(或对应 shell 配置文件)。验证是否成功:
go version
输出类似 go version go1.22.5 linux/amd64 即可。现代 Go(1.16+)默认启用模块模式(GO111MODULE=on),GOPATH 仅影响 go install 未加 @version 的旧式命令,普通项目开发完全不需要设置它。如果非要设,只建议用于存放个人工具,例如:
export GOPATH=$HOME/go(仅当你明确要用go get安装老工具时)export GOBIN=$HOME/go/bin(避免污染系统/usr/local/bin)- 但
PATH必须包含$GOBIN,否则装的工具找不到
验证安装与常见错误
运行以下命令检查基础功能是否正常:
go env GOROOT go env GOPATH go list std | head -3
常见问题包括:
command not found: go→PATH没生效,确认/usr/local/go/bin在echo $PATH输出中cannot find package "fmt"→GOROOT被手动改错,删掉自定义GOROOT,让 Go 自动推导go install hello@latest报错 “unknown revision latest” → 网络被拦,需配代理或换国内镜像(go env -w GOPROXY=https://goproxy.cn,direct)
Go 安装本身极轻量,真正的复杂点在于后续依赖代理、私有模块认证、交叉编译目标平台这些延伸配置——但那已不属于“安装”范畴。只要 go version 能跑出来,你就已经装好了。
理论要掌握,实操不能落!以上关于《Linux下安装Golang详细教程与配置方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
-
505 收藏
-
503 收藏
-
502 收藏
-
502 收藏
-
502 收藏
-
489 收藏
-
479 收藏
-
257 收藏
-
500 收藏
-
168 收藏
-
461 收藏
-
404 收藏
-
242 收藏
-
407 收藏
-
108 收藏
-
469 收藏
-
332 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习