可以把具体的报错信息贴出来,我才能准确帮你定位。不过在 CentOS 上跑 Go 程序,常见报错和对应解决办法我先给你整理一份,你对照看看。
go: command not found原因:没装 Go 或 PATH 没配
解决
# 查看是否安装
which go
# 没装就装(示例 1.21)
wget https://go.dev/dl/go1.21.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.linux-amd64.tar.gz
# 加到 PATH(写入 ~/.bashrc)
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc
cannot find package "xxx"原因:没初始化 module 或没拉依赖
解决
go mod init projectname
go mod tidy
permission denied原因:没有执行权限
chmod +x yourbinary
./yourbinary
或
go run main.go
fork/exec: no such file or directory原因:交叉编译出错(如在 CentOS 跑 Windows 编译的)
解决
GOOS=linux GOARCH=amd64 go build
GLIBC_2.xx not found原因:Go 版本太新,CentOS 太老(如 CentOS 7)
解决
# 查看端口
ss -lntp
# 开放端口
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
# 临时关闭
setenforce 0
# 永久关闭
vi /etc/selinux/config
SELINUX=disabled
go version
go env
uname -a
cat /etc/centos-release
如果你愿意,直接把报错全文贴出来(包括命令 + 输出),我可以一步一步帮你修。