在 Linux 上配置和使用 Golang(Go 语言)环境时,有几个关键点需要注意,尤其是环境变量、版本管理、权限和模块设置。下面按实用角度总结:
常见三种:
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
gvmasdf在 ~/.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 1.16+ 默认开启,但建议明确设置:
go env -w GO111MODULE=on
国内常见代理(非常重要):
go env -w GOPROXY=https://goproxy.cn,direct
其他常用:
go env -w GOSUMDB=off # 非生产环境可关
GOPATH/bin 要有执行权限permission denied:sudo chown -R $USER:$USER $HOME/go
例如编译 Windows:
GOOS=windows GOARCH=amd64 go build
常用组合:
| 目标系统 | GOOS | GOARCH |
|---|---|---|
| Linux | linux | amd64 |
| Windows | windows | amd64 |
| macOS | darwin | arm64 |
ulimit -n 太低会影响高并发ENV GOLANG_VERSION=1.22
export CGO_ENABLED=1
CGO_ENABLED=0 go build
可生成静态二进制,适合 Docker| 问题 | 解决 |
|---|---|
| go: command not found | PATH 没配置 |
| proxy 超时 | 换 GOPROXY |
| 模块下载慢 | 开 GOPROXY |
| 编译太大 | 用 -ldflags "-s -w" |
如果你愿意,可以告诉我:
我可以直接给你一套完整配置示例。