GO 基于module管理依赖

GO 基于module管理依赖

1. 基础配置

1.配置环境变量(1.13以后不需要设置)

 GO111MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。
 GO111MODULE=on启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。
 GO111MODULE=auto,当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持。

简单来说,设置GO111MODULE=on之后就可以使用go module了,以后就没有必要在GOPATH中创建项目了,并且还能够很好的管理项目依赖的第三方包信息。

使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum

2.配置代理

windows:

go env -w GOPROXY = https://mirrors.aliyun.com/goproxy/   # 国内可以使用阿里云镜像

linux:

export GOPROXY = https://mirrors.aliyun.com/goproxy/

3.新项目

#初始化,创建空的go.mod
go mod init $name
#修改go.mod,增加需要的包依赖
#下载依赖
go mod download

4.已有项目

查看依赖包#初始化,创建空的go.mod
go mod init $name
#查找依赖
go get …

5.查看依赖包

go list -m all

6.增加丢失的依赖,删除不需要的依赖

go mod tidy

7.增加、移除依赖

go mod edit --require
go mod edit --droprequire
eg:go mod edit --require=rsc.io/quote@v3.1.0   #增加
eg:go mod edit -droprequire=golang.org/x/text  #移除

8.拷贝依赖到项目vendor

go mod vendor

9.升级依赖

#升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
    go get -u 
#升级到最新的修订版本
    go get -u=patch
#升级到指定的版本号version
    go get package@version

10.格式化go.mod文件

go mod edit -fmt

11.其他常用命令

go mod download    下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit        编辑go.mod文件
go mod graph       打印模块依赖图
go mod init        初始化当前文件夹, 创建go.mod文件
go mod tidy        增加缺少的module,删除无用的module
go mod vendor      将依赖复制到vendor下
go mod verify      校验依赖
go mod why         解释为什么需要依赖

2. 配置内部仓库

这个环境变量主要是为项目依赖的一些公司内部的公共软件包准备的,一般是设置成代码仓库站点的域名。假如我公司所有项目都放在用GitLab搭建的内部代码仓库站点,这个站点的域名是code.lazycorp.com,那么我们就把这个环境变量设置成

go env -w  GOPRIVATE=code.lazycorp.com   #windows

export  GOPRIVATE=code.lazycorp.com      #linux
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值