Go Modules详细理解

Go Modules介绍

Go Modules官方介绍:https://github.com/golang/go/wiki/Modules#semantic-import-versioning

 

Go Modules是Go语言中正式官宣的项目依赖解决方案,Go modules(前身vgo)于Go1.11版本正式发布,在Go1.14版本以后建议用在生产上,Go官方也鼓励用户从其他依赖管理工具迁移到Go modules

 

Go Modules使用

 Go modules使用的前提是Go JDK版本必须在1.11及以上版本,最好是1.13或以上

 

一、 Go modules相关的命令

go help mod我们可以看到go mod的使用及参数

 

go mod参数命令

go mod download   下载 go.mod 文件中指明的所有依赖

go mod edit      编辑 go.mod 文件

go mod graph      查看现有的依赖结构

go mod init    生成 go.mod 文件

go mod tidy   整理现有的依赖,无用的依赖包会被删除,没有的依赖会自动下载

go mod vendor    导出项目所有的依赖到vendor目录

go mod verify   校验一个模块是否被篡改过

go mod why  查看为什么需要依赖某模块

 

其他相关的指令

go list -m all     查看直接或间接依赖的模块的最终版本信息

go list -u -m all   查看直接或间接依赖的模块及可升级的模块

 

Go modules相关的环境变量

> go env



GO111MODULE="auto"

GOPROXY="https://proxy.golang.org,direct"

GONOPROXY=""

GOSUMDB="sum.golang.org"

GONOSUMDB=""

GOPRIVATE=""

......

 

GO111MODULE

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

auto:只要项目包含了 go.mod 文件的话启用 Go modules,目前在 Go1.11 至 Go1.14 中仍然是默认值。

on:启用 Go modules,推荐设置,将会是未来版本中的默认值。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值