首页主机资讯golang在ubuntu上编译如何配置环境变量

golang在ubuntu上编译如何配置环境变量

时间2026-01-20 07:45:04发布访客分类主机资讯浏览1477
导读:Ubuntu 上配置 Go 编译环境变量 一 安装方式与安装路径 使用发行版包管理器安装:执行命令 sudo apt update && sudo apt install golang,常见安装路径为 /usr/lib/g...

Ubuntu 上配置 Go 编译环境变量

一 安装方式与安装路径

  • 使用发行版包管理器安装:执行命令 sudo apt update & & sudo apt install golang,常见安装路径为 /usr/lib/go。这种方式通常无需设置 GOROOT,只需把 /usr/lib/go/bin 加入 PATH 即可使用。
  • 手动安装官方二进制包:从官网下载 .tar.gz,解压到 /usr/local/go(命令:sudo tar -C /usr/local -xzf go-linux-amd64.tar.gz)。此时应将 GOROOT 指向 /usr/local/go,并把 $GOROOT/bin 加入 PATH

二 环境变量配置与生效

  • 仅设置 PATH(发行版安装常用)
    • 编辑 ~/.bashrc~/.profile
      • echo ‘export PATH=$PATH:/usr/lib/go/bin’ > > ~/.bashrc
    • 使配置生效:source ~/.bashrcsource ~/.profile
  • 完整设置(手动安装或需自定义工作区)
    • 编辑 ~/.bashrc~/.profile
      • echo ‘export GOROOT=/usr/local/go’ > > ~/.bashrc
      • echo ‘export GOPATH=$HOME/go’ > > ~/.bashrc
      • echo ‘export GOBIN=$GOPATH/bin’ > > ~/.bashrc
      • echo ‘export PATH=$PATH:$GOROOT/bin:$GOBIN’ > > ~/.bashrc
    • 使配置生效:source ~/.bashrcsource ~/.profile
  • 验证:执行 go versiongo env,应能看到版本与正确的 GOROOT/GOPATH

三 编译与模块使用要点

  • 构建与运行
    • 在模块模式下(Go 1.11+ 默认):在项目根目录(含 go.mod)执行 go build 生成可执行文件,或 go run main.go 直接运行。
    • GOPATH 模式下:将代码放在 $GOPATH/src/…,在项目目录执行 go build 生成与目录同名的可执行文件。
  • 交叉编译(仅在需要时设置)
    • 示例:构建 Linux AMD64 可执行文件
      • GOOS=linux GOARCH=amd64 go build
    • 示例:构建 Windows 64 位 可执行文件
      • GOOS=windows GOARCH=amd64 go build
    • 非交叉编译场景无需设置 GOOS/GOARCH,编译器会自动检测。

四 常见错误与排查

  • GOROOTGOPATH 设为相同路径(如:export GOROOT=$GOPATH)会导致标准库与依赖解析异常,务必避免。
  • 使用发行版包却手动设置 GOROOT=/usr/local/go,或手动安装却设置 GOROOT=/usr/lib/go,都会导致 “找不到标准库/命令不可用”,应以实际安装路径为准。
  • 修改配置后未执行 source ~/.bashrcsource ~/.profile,导致新开终端未生效。
  • 未创建 $GOPATH 目录(如 $HOME/go),执行 go install 或依赖解析会异常,需先创建目录。
  • 权限问题:若 $GOPATH 或项目目录权限不足,构建会报 “permission denied”,请检查并修正目录权限。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: golang在ubuntu上编译如何配置环境变量
本文地址: https://pptw.com/jishu/786855.html
ubuntu下golang编译时如何调试 如何优化ubuntu golang编译过程

游客 回复需填写必要信息