go mod 删除包_go modules:使用mod管理项目依赖包,通过vendor一键分发编译包

在go语言1.11版本之前,没有modules机制,所有软件包都在安装在$GOPATH/src目录下。不同项目如果引用了同一个软件包的不同版本,就会造成编译麻烦。修改$GOPATH变量是当时一种比较简单的解决方案。

从1.11版本开始,开始有了GO111MODULE变量。因为是自1.11版本支持的,所以名字中有“111”。依靠go语言最新的mod模块,可以将依赖包的不同版本都缓存至$GOPATH/pkg/mod目录下,各个项目通过go.mod文件各取合适的依赖包版本使用。

如果想实现一键分发编译包,通过go mod vendor指令,将依赖包从$GOPATH/pkg/mod目录拷贝至当前项目目录下的vendor目录中。将目录打包,直接分发即可,当然这限同类平台。

如果是不同平台,通过go.mod文件重新下载依赖即可。如果网络不稳定,还可以通过export GOPROXY=https://goproxy.io设置网络代理。

依赖包版本号格式

在理解mod的工作方式之前,需要先了解一下go语言软件我版本号的组成。

57e5b4e91ca2e153ab582fcfc8e86275.png
  • MAJOR 主版本号,如果有大的版本更新,这种更新往往导致 A

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值