其实很多人觉得在 Ubuntu 上配置 Go(Golang)“难”,并不是 Go 本身复杂,而是环境来源混杂 + 概念不清 + 版本管理混乱导致的。下面把常见"难在哪"讲清楚,并给你一个最省事的正确姿势。
sudo apt install golang
装出来的往往是:
而你现在学的教程可能是 Go 1.20+
➡ 然后就会出现:
go mod 行为不一样✅ 结论:不要用 apt 装 Go(除非你只玩老项目)
很多人分不清:
GOPATHGo Modules(Go 1.11+)结果:
go run 找不到包典型错误:
export PATH=$PATH:/usr/local/go/bin
但:
.bashrc vs .zshrc)结果:
which go
指向的根本不是你以为的那个
国内直连:
go get xxx
经常卡死或超时
# 1. 下载(以 1.22 为例)
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
# 2. 清空旧版本(如果有)
sudo rm -rf /usr/local/go
# 3. 安装
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
# 4. 配置环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
验证:
go version
mkdir hello && cd hello
go mod init hello
go run main.go
完全不需要设 GOPATH
go env -w GOPROXY=https://goproxy.cn,direct
只有这几种情况才难:
g 或 gvm)普通学习 / 后端开发:一点都不难
Ubuntu 配 Go 难,90% 是因为 用 apt 装了老 Go + 环境变量混乱 + 教程过时
换成官方二进制 + Go Modules,5 分钟就能跑起来
如果你愿意,我可以:
go env)你现在是卡在哪一步?