Go Modules模式

Go Modules模式

(1)go mod 命令

命令 作用
go mod init 生成 go.mod 文件 / 在当前文件夹下初始化一个新的 go.mod 文件
go mod download 下载 go.mod 文件中指明的所有依赖 / 下载依赖的module到本地cache
go mod tidy 整理现有的依赖 / 增加失去的 module,去掉未用的module
go mod graph 查看现有的依赖结构
go mod edit 编辑 go.mod 文件
go mod vendor 导出项目所有的依赖到 vendor 目录 / 将依赖复制到vendor下
go mod verify 校验一个模块是否被篡改过 / 校验依赖,检查下载到第三方库有没有本地修改,如果有修改,则返回非0,否则验证成功。
go mod why 查看为什么需要依赖某模块 / 解释为什么需要需要依赖

(2)go mod 环境变量

可以通过 go env 命令来进行查看

GO111MODULE="on"
GOPROXY="https://goproxy.cn,direct"
GOROOT="..."
GOSUMDB="sum.golang.org"
GOTMPDIR=""
...

GO111MODULE

Go 语言提供了GO111MODULE这个环境变量来作为 Go modules 的开关,其允许设置以下参数:

  • auto:只要项目包含了 go.mod 文件的话启用 Go modules。
  • on:启用 Go modules,推荐设置。
  • off:禁用 Go modules,不推荐。

可以通过 go env -w GO111MODULE=on 来设置。

GOPROXY

这个环境变量主要是用于设置 Go 模块代理(Go module proxy),其作用是用于使 Go 在后续拉取模块版本时直接通过镜像站点来快速拉取。

  • GOPROXY 的默认值是:https://proxy.golang.org,direct
  • proxy.golang.org 国内访问不了,需要设置国内的代理
    • 阿里云:https://mirrors.aliyun.com/goproxy/
    • 七牛云:https://goproxy.cn,direct
go env -w GOPROXY=https://proxy.golang.org,direct

direct的含义:指示符。指示go回源到模块版本的原地址去拉取。

比如一个模块 “github.com/xxx/json”,首先会

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值