在 Debian 上跑 Go 程序报错,原因可能有很多,下面按常见场景给你一个排查清单,你可以对照看看是哪一种。
go: command not found原因:没装 Go,或没加入 PATH
解决:
go version
如果没有:
sudo apt update
sudo apt install golang-go
# 或官方版
wget https://go.dev/dl/go1.22.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz
然后:
export PATH=$PATH:/usr/local/go/bin
cannot find package "xxx"原因:
解决(推荐):
go mod init myproject
go mod tidy
permission denied
原因:
解决:
sudo setcap cap_net_bind_service=+ep yourbinary
# 或 sudo 运行
exec format error原因:
检查:
uname -m
file yourbinary
cgo: C compiler not found
解决:
sudo apt install gcc
常见:
示例 service:
[Service]
WorkingDirectory=/opt/app
Environment=PATH=/usr/local/go/bin:/usr/bin
ExecStart=/opt/app/server
为了精确定位,你可以贴出:
go run / 编译后运行 / systemd)cat /etc/os-release)go version)如果你愿意,直接把报错原文发出来,我可以一行一行帮你分析。