在 Debian 下使用 Go(Golang)时“日志报错”可能有很多种原因,需要先看具体报错信息才能精确定位。不过,我可以先帮你梳理Debian + Go 场景中最常见的几类日志/运行报错原因,你可以对照看看。
cannot find package / module not found典型日志:
cannot find package "xxx" in any of ...
go: module not found
原因:
解决:
go version
go mod init your_project
go mod tidy
✅ 建议 Debian 用官方 Go,而不是 apt 的老版本:
sudo rm -rf /usr/local/go
wget https://go.dev/dl/go1.22.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz
常见报错:
write /var/log/xxx: permission denied
原因:
/var/log 需要 root 权限解决:
log.SetOutput(os.Stderr)
sudo chown -R $USER /var/log/yourapp
现象:
原因:
解决:
[Service]
ExecStart=/usr/local/bin/yourapp
StandardOutput=journal
StandardError=journal
查看日志:
journalctl -u yourapp.service -f
现象:
原因:
解决:
sudo dpkg-reconfigure tzdata
# 或
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Go 中:
time.Local = time.LoadLocation("Asia/Shanghai")
典型:
panic: runtime error: invalid memory address
原因:
要准确回答,你可以补充:
go version)cat /etc/os-release)如果你愿意,把具体报错贴出来,我可以直接帮你定位到代码或系统配置层面。