在 CentOS 上配置 Go 语言模块(Go Modules),一般分为「安装 Go」「开启模块支持」「配置代理」「初始化项目」几个步骤。下面按实操流程讲。
# 下载(以 go1.22 为例,可换版本)
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
编辑 ~/.bashrc 或 ~/.profile:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
使配置生效:
source ~/.bashrc
验证:
go version
Go 1.13+ 默认启用 Modules,无需额外开启。
查看当前模式:
go env GO111MODULE
如果是 on 就正常;如不是:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
或:
go env -w GOPROXY=https://proxy.golang.org,direct
查看:
go env GOPROXY
mkdir myproject
cd myproject
go mod init github.com/yourname/myproject
会生成:
go.mod
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, "hello")
})
r.Run()
}
下载依赖:
go mod tidy
go mod init # 初始化
go mod tidy # 清理并下载依赖
go get pkg@version # 添加依赖
go mod download # 下载依赖
go mod vendor # 生成 vendor 目录
✅ 一定要配置 GOPROXY
go env -w GOPRIVATE=git.company.com
Go 编译不受影响,只有运行服务时注意端口:
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
如果你是要:
可以直接告诉我,我可以给你更具体的方案。