Go mod使用

使用Go mod进行包管理,会使你进行项目移植的时候轻松许多

  • go mod是在go 1.11版本新加的特性,所以使用go mod要保证go的版本在1.11或之后。

将如下配置到你的go环境变量中

# on 表示只使用 Go Modules,而不去Go PATCH 下去找包
# 我使用的goland,第一次执行这命令报错 warning: go env -w GO111MODULE=... does not override conflicting OS environm
# 原因是需要在设置中,在Go Modules配置里 Enable Go modules integration 前面的对号没有勾选
# 勾选保存后,需要重启goland 再执行就ok了
go env -w GO111MODULE=on  

taps:

  • go env :查看go的环境变量

  • go env -w XXX=XXX :配置go的环境变量

  • go env -u XXX=XXX :取消go的环境变量

命令:(只说几个重要的)

  • go help mod:查看帮助
  • go init:在当前文件夹(项目)下初始化一个新的module
  • go tidy:同步模块

步骤

  • 建立工程

  • 到工程目录下:go mod init (工程名)

  • 工程名加不加都行

    • 会生成一个go.mod文件
  • 现在使工程中引入一些需要下载的包

  • 使用go mod tidy 同步模块,如果此步骤无法同步包,有可能是网络问题,需要配置代理:go mod使用

2022/11/15  当前好用代理配置如下
# 配置 GOPROXY 环境变量
go env -w GOPROXY=https://proxy.golang.com.cn,direct
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
go env -w GOPRIVATE=git.mycompany.com,github.com/my/private
  • 此时的go.mod中出现了新的包 和 版本
  • 配置成功