“Golang 在 CentOS 上报错”这个说法太宽泛了,因为不同的错误原因完全不同。我先把 CentOS 上跑 Go 最常见报错 & 原因给你列出来,你对照一下是哪一种,我再帮你精准解决。
go: command not found原因
检查
which go
go version
解决
# 安装示例(Go 1.21)
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
# 加到 ~/.bashrc
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc
cannot find package "xxx"原因
go mod init解决(推荐 Go Modules)
go mod init projectname
go mod tidy
permission denied原因
解决
sudo chown -R $USER:$USER $HOME/go
failed to initialize build cache原因
$HOME 不存在或权限异常(常见于 CI / 服务用户)解决
export HOME=/root
# 或
go env -w GOCACHE=/tmp/go-cache
GLIBC_2.xx not found原因
解决
no such file or directory(编译后运行)原因
检查
file yourbinary
uname -m
segmentation fault原因
解决
CGO_ENABLED=0 go build
dial tcp: i/o timeout(go get)原因
解决
go env -w GOPROXY=https://goproxy.cn,direct
请把下面信息贴出来:
cat /etc/redhat-release
go version
如果你愿意,直接把报错原文发我,我可以不绕弯子,一步到位告诉你怎么改 ✅