温馨提示×

ubuntu golang打包出错咋办

小樊
47
2026-09-19 12:01:45
栏目: 编程语言

在 Ubuntu 上用 Go 打包(编译)出错,原因很多,常见情况和对应解决办法如下。你可以先按**“看错误 → 对号入座 → 处理”**来做。


一、先确认基础环境

go version
echo $GOPATH
echo $GOROOT

建议:

  • Go 1.16+ 推荐用 Go Modules
  • 项目里要有 go.mod

如果没 go.mod

go mod init your_module_name

二、最常见错误与解决

1️⃣ cannot find package

原因:没拉依赖或 GOPATH 不对

解决:

go mod tidy
go build

2️⃣ go: command not found

原因:Go 没装或 PATH 没配

解决:

sudo apt install golang-go
# 或官方版

然后:

export PATH=$PATH:/usr/local/go/bin

3️⃣ 交叉编译失败(如打 Linux → Windows)

例如:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

常见错误:

  • CGO_ENABLED=1 但没装 gcc

解决:

sudo apt install gcc
# 或禁用 CGO
CGO_ENABLED=0 go build

4️⃣ permission denied

例如写到 /usr/local/bin 没权限

解决:

sudo go build -o /usr/local/bin/xxx

或输出到当前目录:

go build -o app .

5️⃣ 依赖国内拉不下来

解决(临时):

go env -w GOPROXY=https://goproxy.cn,direct

6️⃣ 编译太慢 / 内存不足

Ubuntu 小内存机器容易 OOM

解决:

go build -p 1

三、推荐的标准打包命令

CGO_ENABLED=0 go build -o app .

生产常用:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app

四、如果你愿意,我可以直接帮你

你可以贴出:

  1. 完整报错信息
  2. go version
  3. 你用的 build 命令
  4. 是否交叉编译

我可以直接告诉你具体是哪一步错了、怎么改

0