在 Debian 上运行 Go 程序报错,排查可以按下面顺序来,基本能定位 90% 的问题。
go version
正常应类似:
go version go1.22.4 linux/amd64
如果提示:
command not found
说明 Go 未安装或未加入 PATH。
go env
重点看这几个:
GOROOT
GOPATH
GOOS
GOARCH
常见 Debian 正确示例:
GOROOT="/usr/local/go"
GOPATH="$HOME/go"
go: command not found原因:Go 没装或 PATH 不对
解决:
export PATH=$PATH:/usr/local/go/bin
永久生效(Debian):
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
cannot find packagemain.go:3:8: cannot find package "xxx"
原因:
解决:
go mod init myapp
go mod tidy
permission deniedbash: ./main: Permission denied
解决:
chmod +x main
或:
go run main.go
gcc: error / cgo 相关错误cgo: C compiler "gcc" not found
解决(Debian):
sudo apt update
sudo apt install gcc
比如:
segmentation fault
panic: runtime error
查看详细错误:
go run -v main.go
或加调试:
go run -gcflags="-e" main.go
go run 看完整错误go run main.go
go build -o app
./app
journalctl -xe
sudo apt remove golang
推荐用官方版本:
wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
uname -m
确保下载的 Go 和架构一致(amd64 / arm64)。
你可以直接把 完整报错信息贴出来,比如:
go versioncat /etc/os-release我可以一步一步帮你查 ✅