Ubuntu 编译 Go 项目依赖问题处理指南
一 快速定位与通用修复
二 依赖类型与对应处理
| 依赖类型 | 典型报错 | 处理要点 |
|---|---|---|
| 纯 Go 模块 | cannot find package “xxx” | 在项目根目录执行 go mod tidy;确认网络可访问 proxy.golang.org 或配置 GOPROXY;必要时使用 go get 拉取特定版本。 |
| CGO 依赖(调用 C 库) | cgo: exec gcc: executable file not found、头文件或库未找到 | 安装编译工具链与系统库:如 sudo apt-get install build-essential gcc;安装对应 -dev 包(例如 libssl-dev、libc6-dev 等);如需交叉编译,设置 CGO_ENABLED=0 或准备交叉编译器与对应库。 |
| 权限问题 | permission denied | 检查当前用户对项目目录与输出目录的读写权限,必要时使用 chmod/chown 修正。 |
三 环境变量与常见配置错误
四 交叉编译场景
五 最小复现与求助信息准备