Golang基础8-go语言依赖管理

go语言依赖管理

探索 GO 项目依赖包管理与Go Module常规操作 - 知乎

https://juejin.cn/post/7054513615625256996

演进过程:

GOPATH机制

早期引入GOPATH机制,Go 编译器可以在本地 GOPATH 环境变量配置的路径下,搜寻 Go 程序依赖的第三方包。如果存在,就使用这个本地包进行编译;如果不存在,就会报编译错误。

出现的问题:引入的三方库可能远程迭代,不同时间同样go代码下载的三方库可能不同,不能保证可重现的构建(严重问题)。三方库引入不兼容代码,可能会出现编译错误。

其实是忽视三方库版本问题。

Vendor机制(1.5引入)

在GOPATH环境变量的某个src目录下可以放一个vendor目录,这个存放三方库代码。编译器优先搜索vendor目录下的依赖,其次GOPATH环境变量的三方版本包。

出现问题:如果使用 vendor 机制管理第三方依赖包,最佳实践就是将 vendor 一并提交到代码仓库中。那么其他开发者下载你的项目后,就可以实现可重现的构建。虽然一定程度解决可重现的构建的问题,但是出现新问题ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值