goproxy和go modules的初步使用

go modules

关于go的第三方包的依赖管理,项目小的时候还不觉得多麻烦,当项目越来越大,引入的第三方包越来越多的时候,这个时候问题就很头痛了,golang官方建议是一个项目一个GOPATH,但是鉴于很多人都不这么做(我也不这么做,因为麻烦),于是在go1.11的时候推出了这个go modules来解决依赖管理的问题。

使用

由于这个go modules和GOPATH可能是天生不和,如果配置了GOPATH的话,这个go modules是默认不开启的。
开启也很简单,只要在命令行中键入下面命令就行了。

export GO111MODULE=on	# 开启GoModule特性

不过这种是一次性的,重启之后就会消失,所以可以在环境信息文件/etc/profile的最后面添加上一行

export GO111MODULE=on

使用命令source /etc/profile让其生效。

GO111MODULE解释, 当为on时则使用Go Modules,go 会忽略 $GOPATHvendor文件夹,只根据go.mod下载依赖。当为 off时则不适用新特性 Go Modules支持,它会查找 vendor目录和 $GOPATH来查找依赖关系,也就是继续使用“GOPATH模式”。当为 auto时或未设置时则根据当前项目目录下是否存在 go.mod文件或 $GOPATH/src之外并且其本身包含go.mod文件时才会使用新特性 Go Modules模式,并且autoGO111MODULE的默认值。

goproxy

关于goproxy,简单来说就是一个代理,让我们更方便的下载哪些由于墙的原因而导致无法下载的第三方包,比如golang.org/x/下的包,虽然也有各种方法解决,但是,如果是你在拉取第三方包的时候,而这个包又依赖于golang.org/x/下的包,你本地又恰恰没有,当然不嫌麻烦的话,也可以先拉取golang.org/x/下的包,再拉取第三方包。<

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值