在 Debian 系统上管理 Golang 依赖,常见做法有几种,取决于你用的是 系统包管理器 还是 Go 官方依赖管理方式。下面按“推荐程度”给你梳理一下。
Go 1.11+ 默认支持,Go 1.16+ 默认开启。
go env -w GO111MODULE=on
go mod init example.com/myproject
go get github.com/gin-gonic/gin
go mod tidy
go.mod:依赖声明go.sum:校验和✅ 优点
❌ 缺点
sudo apt update
sudo apt install golang-go
查看版本:
go version
⚠️ Debian 仓库的 Go 版本通常较旧。
Debian 提供一些 Go 库:
apt search golang-
例如:
sudo apt install golang-github-gin-gonic-gin-dev
这些库会装到:
/usr/share/golang/src/
❌ 问题
FROM golang:1.22
WORKDIR /app
COPY . .
RUN go mod download
RUN go build
FROM debian:12
COPY myapp /usr/local/bin/myapp
CMD ["myapp"]
go env -w GOPROXY=https://goproxy.cn,direct
go mod vendor
构建:
go build -mod=vendor
| 场景 | 推荐方式 |
|---|---|
| 本地开发 | Go Modules |
| Debian 服务器 | 编译后部署 |
| 生产环境 | Docker + Modules |
| 内网 | vendor / proxy |
如果你愿意,可以告诉我:
我可以直接给你一套具体可抄的配置。