go mod使用
目录
go mod
1. go mod 子命令
命令 | 功能 |
---|---|
download | 下载依赖包到本地 |
edit | 修改go.mod文件 |
graph | 输出依赖图 |
init | 当前文件夹下初始化新的mod |
tidy | 拉取缺少的依赖,删除无用的依赖 |
vendor | 将依赖copy到vendor文件夹 |
verify | 验证依赖 |
why | 解释为什么需要依赖 |
2. go mod设置代理
- 设置环境变量
export GOPROXY=https://mirrors.aliyun.com/goproxy/
- go1.13使用
go env -w
设置 mirror
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
逗号后面可以增加多个 proxy,最后的 direct 则是在所有 proxy 都找不到的时候,直接访问
3. 依赖gitlab等私有库
3.1 设置url
git config --global url."git@gitlab.your-company.com:<your>/<package>.git".insteadOf "https://gitlab.your-company.com/<your>/<package>.git"
依赖本地的 ~/.ssh/id_rsa
3.2 解决go mod或go get时x509: certificate signed by unknown authority
错误:
go get私有仓库时会出现如下错误:
go: xxx@v0.0.0-20190918102752-bb51b27911ca: unrecognized import path "xxx" (https fetch: Get https://xxx?go-get=1: x509: certificate signed by unknown authority)
原因是go get的执行过程需要https证书,检查server端证书是未知CA签署的并报错。
- 解决方法:
go get -insecure xxx
这样go get就会通过http协议去访问私库了。