教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 什么是 go vendor

什么是 go vendor

发布时间:2022-01-29   编辑:jiaochengji.com
教程集为您提供什么是 go vendor等资源,欢迎您收藏本站,我们将为您提供最新的什么是 go vendor资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg>

go vendor 是golang引入管理包依赖的方式,1.5版本开始引进,1.6正式引进。

<h3>基本原理</h3>

其实就是将依赖的包,特指外部包,复制到当前工程下的vendor目录下,这样go build的时候,go会优先从vendor目录寻找依赖包。

<h3>
优点</h3>

将依赖的外部包引进工程下的vendor目录,可以直接在其他机器直接编译,而不用再去构建外部包的编译环境,一个一个的go get获取外部包。当然你也可以直接拷贝整个GOPATH下的第三方包源码过来,也是起到了vendor相同的作用。
另外,防止了go get 重新拉取的外部包的版本可能和期望的不一致,从而导致编译错误问题。

<h3>
缺点</h3>

当你想升级依赖包的时候,就只能手动升级了(重新拷贝升级后的依赖包源码)。

<h3>
解决方案</h3>

也是一个第三方包:govendor
https://github.com/kardianos/govendor
govendor记录了vendor包的版本信息,也支持类似go get方式更新vendor里面的包

到此这篇关于“什么是 go vendor”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
什么是 go vendor
Golang笔记:包管理机制
Golang包管理工具govendor的使用
Golang包管理详解
Go 版本的升降级
golang编译之vendor机制
golang Modules 依赖管理工具使用
Go 开发关键技术指南 | 为什么你要选择 Go?(内含超全知识大图)
Go 语言包管理机制深入分析
Go Module入门及Golang项目组织

[关闭]
~ ~