目标系统与编译机glibc版本不一致,运行时会报类似“version `GLIBC_2.xx’ not found”。典型场景是在CentOS 7上编译,却在CentOS 6运行。对策是使用与目标系统一致的构建环境(如Docker多阶段构建),或尽量采用静态编译:设置CGO_ENABLED=0 GOOS=linux GOARCH=amd64后打包,可显著降低glibc依赖带来的兼容性问题。若必须使用CGO(调用C库),需安装gcc等工具链并开启CGO_ENABLED=1,但跨发行版运行的风险更高。
三 依赖与网络
依赖解析失败或拉取超时,常见于国内网络访问golang.org/x等模块。建议在构建环境中设置GOPROXY=https://goproxy.io并开启GO111MODULE=on,再执行go mod tidy整理依赖。若本地缓存异常,可用go clean -cache清理后重试。涉及C库时,需安装相应**-devel包(如libcurl-devel**),否则会出现编译或链接错误。