go modudle

目录

go module简介

go module基本命令

go moudle项目本地环境搭建

如果依赖包在gitlab私服

如果依赖包在国外,可以设置代理


go module简介

go modules 是 golang 1.11 新加的特性。现在1.12 已经发布了,是时候用起来了。Modules官方定义为:

模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。

 go env 中GO111MODULE="on"表示使用go moudles

go module基本命令

  • go mod download: 下载依赖的 module 到本地 cache
  • go mod edit: 编辑 go.mod
  • go mod graph: 打印模块依赖图
  • go mod init: 在当前目录下初始化 go.mod(就是会新建一个 go.mod 文件)
  • go mod tidy: 整理依赖关系,会添加丢失的 module,删除不需要的 module
  • go mod vender: 将依赖复制到 vendor 下
  • go mod verify: 校验依赖
  • go mod why: 解释为什么需要依赖

go moudle项目本地环境搭建

  • 用git从代码托管平台直接拉下来,配置好gopath,goland会自动在gopath下创建pkg文件夹,然后自动下载依赖包。 

如果依赖包在gitlab私服

  • 获取gitlab的access token

进入Gitlab—>Settings—>Access Tokens,然后创建一个personal access token,这里权限最好选择只读(read_repository)。 

  • git配置添加access token

有了access token后,我们还需要在git中进行配置,这样才能go get下了私有仓库的包,需要把刚刚的token添加进git的请求头中,操作如下:

git config --global http.extraheader "PRIVATE-TOKEN: YOUR_PRIVATE_TOKEN"
  • 配置git将请求从ssh转换为http

配置如下:

git config --global url."git@gitlab.com:groupName/projectName.git".insteadOf "https://gitlab.com/groupName/projectName.git"`

也可以直接全局替换,那么可以拉取域名下的所有包,如:

git config --global url."git@gitlab.example.com:".insteadof "https://gitlab.example.com/"

如果依赖包在国外,可以设置代理

  • 设置GOPROXY通过代理下载依赖:
go env -w GOPROXY="https://goproxy.io"
  • 设置GOPRIVATE可以指定某些依赖不走代理:
go env -w GOPRIVATE="*.corp.example.com"

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值