温馨提示×

ubuntu golang编译报错怎么查

小樊
38
2026-10-24 23:15:19
栏目: 编程语言

在 Ubuntu 上用 Go 编译报错,排查一般可以按下面步骤来:


一、先看清楚错误信息

Go 的报错通常已经比较明确,先不要急着搜,先看:

go build
# 或
go run main.go

常见错误类型:

  • 语法错误(compile error)
  • 包找不到(cannot find package)
  • 依赖问题(module / GOPATH)
  • 权限问题
  • 环境变量问题

二、确认 Go 环境是否正常

go version
go env

重点看这几个:

GOPATH
GOROOT
GO111MODULE

Ubuntu 常见坑:

  • 系统自带旧版 Go(/usr/bin/go)
  • 自己装的在新路径(如 /usr/local/go)

查看真实路径:

which go
ls -l $(which go)

三、Module 模式(推荐)

如果是新项目,一定要用 module:

go mod init projectname
go mod tidy
go build

如果报:

cannot find package

一般是:

  • 没 go mod init
  • 没 go mod tidy
  • 网络问题(拉不到依赖)

四、常见报错及处理

1. cannot find package

go get xxx
# 或
go mod tidy

2. 权限 denied

不要用 sudo go 而是:

sudo chown -R $USER:$USER $GOPATH

3. proxy 问题(国内常见)

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

4. 混用 GOPATH 和 Module

go env -w GO111MODULE=on

五、打开详细日志

如果还是看不懂:

go build -x
go vet
go build -v

六、把错误贴出来最快

你可以直接把完整的报错信息贴出来(从 go build 开始那几行),我可以帮你精确定位。

例如:

# command-line-arguments
./main.go:10:2: undefined: xxx

这样我能直接告诉你改哪里。

0 踩