温馨提示×

linux golang配置需要注意什么

小樊
43
2026-09-19 08:04:42
栏目: 编程语言

在 Linux 上配置和使用 Golang(Go 语言)环境时,有几个关键点需要注意,尤其是环境变量、版本管理、权限和模块设置。下面按实用角度总结:


一、安装方式选择

常见三种:

  1. 官方二进制包(推荐)
    wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
    sudo rm -rf /usr/local/go
    sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
    
  2. 包管理器(apt / yum)
    • 版本通常较旧,不推荐用于生产
  3. 版本管理工具(推荐多版本用户)
    • gvm
    • asdf

二、关键环境变量(最重要)

~/.bashrc~/.zshrc 中配置:

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

然后:

source ~/.bashrc

验证:

go version
go env

三、Go Modules(必须开启)

Go 1.16+ 默认开启,但建议明确设置:

go env -w GO111MODULE=on

国内常见代理(非常重要):

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

其他常用:

go env -w GOSUMDB=off   # 非生产环境可关

四、Linux 权限与路径注意

  • 不要使用 root 运行 go build(开发环境)
  • GOPATH/bin 要有执行权限
  • 若提示 permission denied
    sudo chown -R $USER:$USER $HOME/go
    

五、交叉编译(Linux 上常见)

例如编译 Windows:

GOOS=windows GOARCH=amd64 go build

常用组合:

目标系统 GOOS GOARCH
Linux linux amd64
Windows windows amd64
macOS darwin arm64

六、系统资源限制(服务端注意)

  • ulimit -n 太低会影响高并发
  • 容器环境(Docker)要设置:
    ENV GOLANG_VERSION=1.22
    

七、CGO 注意

  • 使用 C 库时必须:
    export CGO_ENABLED=1
    
  • 纯 Go 程序建议:
    CGO_ENABLED=0 go build
    
    可生成静态二进制,适合 Docker

八、常见问题速查

问题 解决
go: command not found PATH 没配置
proxy 超时 换 GOPROXY
模块下载慢 开 GOPROXY
编译太大 -ldflags "-s -w"

如果你愿意,可以告诉我:

  • 开发 / 生产 / Docker / 服务器
  • 是否 国内网络
  • 是否 多版本 Go

我可以直接给你一套完整配置示例。

0