EasyNVR及EasyRTC平台使用Go语言项目管理GoVendor和gomod的使用总结
TSINGSEE青犀视频云边端架构体系的产品中,流媒体平台均是使用Go语言开发,因为遗留代码的问题,EasyNVR、EasyDSS等平台需要使用govendor进行代码的项目管理,而EasyRTC 等新项目则是采用gomod进行开发。以下是我们在开发平台过程中,对两者的使用进行的总结,现与大家分享下。
GoVendor的基本使用如下:
govendor init 初始化项目
govendor fetch 增加依赖
govendor remove 删除包依赖
govendor update 更新包依赖
govendor list 列出包
govendor stat 查看包是否过期
./vendor/vendor.json 依赖包
govendor --help
gomod 的使用如下:
go mod download 下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit 编辑go.mod文件
go mod edit -fmt 格式化
go mod edit -require=golang.org/x/text 添加依赖项
go mod edit -droprequire=golang.org/x/text 移除依赖项
go mod graph 打印模块依赖图
go mod init 初始化当前文件夹, 创建go.mod文件
go mod tidy 增加缺少的module,删除无用的module
go mod vendor 将依赖复制到vendor下
go mod verify 校验依赖
go mod why 解释为什么需要依赖
go.mod 依赖包
gp.sum 依赖包
go get -u /sadas/asfasdfdsa 更新依赖
gomod 为官方推荐的项目管理工具,随着go1.16的出现,建议所有的项目都采用 gomod 进行项目管理。因为部分网站无法访问的问题,因此在使用时添加以下配置可以解决该问题:
GOPROXY=https://goproxy.cn,direct;GONOSUMDB=gitlab.com,gitee.com;GONOPROXY=gitlab.com,gitee.com
EasyNVR、EasyDSS都已经是成熟稳定的视频流媒体平台,可以直接下载测试,EasyRTC的重制版还正在开发当中,其架构有了新的方向,在不久之后新的版本也会上线和大家见面,TSINGSEE青犀视频云边端架构全平台都欢迎大家测试和了解。