在 Debian 上配置 Golang(Go 语言环境)时,有几个常见坑和最佳实践需要注意,下面按「安装方式 → 环境配置 → 常见注意点」来说明。
Debian 自带仓库的 Go 通常版本偏旧,不建议直接用 apt 安装生产环境。
# 示例(以 amd64 为例)
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
sudo apt install golang
原因:
编辑 ~/.profile 或 ~/.bashrc:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
然后:
source ~/.bashrc
go version
go env GOPATH
不需要手动设置 GOPATH 来写项目
推荐做法:
go mod init example.com/project
注意:
# 不推荐
sudo go build
推荐:
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPRIVATE=git.example.com
如果你用 Debian 跑 Go 服务:
[Unit]
Description=Go App
After=network.target
[Service]
User=appuser
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/app
Restart=always
[Install]
WantedBy=multi-user.target
注意:
journalctl -u yourapp| 问题 | 说明 |
|---|---|
| apt 安装 Go 版本旧 | 用官方 tar 包 |
| GOPATH 设置错误 | Go Modules 下基本不用管 |
| 使用 root 开发 | 权限混乱 |
| 代理没配 | go get 超时 |
| CGO 未关 | 交叉编译失败 |
忘了 source |
环境变量不生效 |
# ~/.bashrc
export PATH=$PATH:/usr/local/go/bin
export GOPROXY=https://goproxy.cn,direct
如果你愿意,可以告诉我:
我可以给你更精确的配置方案。