Go_包管理
包管理Go Modulesgo语言通过包管理来封装和复用代码,比较常用的有官方提供的Go Modules。Modules 是相关Go包的集合,是源代码交换和版本控制的单元,go命令支持直接使用ModulesGo Modules的使用方法//chgo env#set GO111MODULE=on#set GOARCH=amd64#set GOBIN=#set GOPROXY=https://gopr
包管理
Go Modules
go语言通过包管理来封装和复用代码,比较常用的有官方提供的Go Modules。
Modules 是相关Go包的集合,是源代码交换和版本控制的单元,go命令支持直接使用Modules
Go Modules的使用方法
//ch
go env
#set GO111MODULE=on
#set GOARCH=amd64
#set GOBIN=
#set GOPROXY=https://goproxy.cn,direct
#set GOROOT=C:\Go
#set GOSUMDB=off
//更改 GO111MODULE
go env -w GO111MODULE=on
//auto:只要项目包含了 go.mod 文件的话启用 Go modules,目前在 Go1.11 至 Go1.14 中仍然是默认值。
//on: 启用 Go modules,推荐设置,将会是未来版本中的默认值。
//off:禁用 Go modules,不推荐设置。
//GOPROXY: 主要用于设计Go Module 的代理
//GOSUMDB: 此环境变量用于在拉取模块的时候保证模块版本数据的一致性。
模块初始化
go mod init [module name]
//然后当前目录就会生成go.mod文件
#module ModuleName
# go 1.14
//引入依赖
module ModuleName
require (
github.com/gohouse/gorose v1.0.5
)
go get 拉取依赖,会进行指定性拉取(更新),并不会更新所依赖的其它模块。
go get -u 更新现有的依赖,会强制更新它所依赖的其它全部模块,不包括自身。
go get -u -t ./… 更新所有直接依赖和间接依赖的模块版本,包括单元测试中用到的。
-d 只下载不安装
-f 只有在你包含了 -u 参数的时候才有效,不让 -u 去验证 import 中的每一个都已经获取了,这对于本地 fork 的包特别有用
-fix 在获取源码之后先运行 fix,然后再去做其他的事情
-t 同时也下载需要为运行测试所需要的包
-u 强制使用网络去更新包和它的依赖包
-v 显示执行的命令
常用命令
go mod init // 初始化go.mod
go mod tidy // 更新依赖文件
go mod download // 下载依赖文件
go mod vendor // 将依赖转移至本地的vendor文件
go mod edit // 手动修改依赖文件
go mod graph // 查看现有的依赖结构
go mod verify // 校验依赖
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)