温馨提示×

Debian运行Go报错怎么查

小樊
38
2026-08-23 17:30:29
栏目: 编程语言

Debian 上运行 Go 程序报错,排查可以按下面顺序来,基本能定位 90% 的问题。


一、确认 Go 是否安装正确

1️⃣ 查看 Go 版本

go version

正常应类似:

go version go1.22.4 linux/amd64

如果提示:

command not found

说明 Go 未安装或未加入 PATH


2️⃣ 检查 Go 环境变量

go env

重点看这几个:

GOROOT
GOPATH
GOOS
GOARCH

常见 Debian 正确示例:

GOROOT="/usr/local/go"
GOPATH="$HOME/go"

二、常见报错 & 排查方法

✅ 1. 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

✅ 2. cannot find package

main.go:3:8: cannot find package "xxx"

原因

  • 没初始化 go module
  • 包没下载

解决

go mod init myapp
go mod tidy

✅ 3. permission denied

bash: ./main: Permission denied

解决

chmod +x main

或:

go run main.go

✅ 4. gcc: error / cgo 相关错误

cgo: C compiler "gcc" not found

解决(Debian)

sudo apt update
sudo apt install gcc

✅ 5. 编译成功但运行报错

比如:

segmentation fault
panic: runtime error

查看详细错误:

go run -v main.go

或加调试:

go run -gcflags="-e" main.go

三、查看详细错误信息(非常重要)

✅ 1. 使用 go run 看完整错误

go run main.go

✅ 2. 编译后运行

go build -o app
./app

✅ 3. 查看系统日志

journalctl -xe

四、Debian 特有问题

✅ 1. 用 apt 安装的 Go 版本太旧

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

✅ 2. 架构不匹配

uname -m

确保下载的 Go 和架构一致(amd64 / arm64)。


五、如果你愿意,我可以直接帮你定位

你可以直接把 完整报错信息贴出来,比如:

  • 终端完整输出
  • go version
  • cat /etc/os-release

我可以一步一步帮你查 ✅

0