首页 > 编程语言 > 详细

闲扯Go语言(二)——包管理器

时间:2021-02-13 09:02:20      阅读:25      评论:0      收藏:0      [点我收藏+]

Go Module 是 golang 的包管理器,类似 python 的 pip, nodejs 的 npm...

我们可以通过 go mod 去进行操作

1. go mod 命令

go mod init 初始化一个 project

go mod download 下载依赖

go mod tidy 整理现有依赖

go mod graph 查看依赖结构

go mod vendor 导出依赖到 vendor 目录

go mod verify 检测下载的依赖是否被篡改

go mod why 查看为什么需要某依赖

2. go mod 环境变量

go env 查看环境变量

go env -w 进行环境变量设置

# 打开 Go Module
go env -w GO111MODULE=on

# GOPROXY 代理,direct 表示:如果代理没找到对应依赖,就到源去寻找
go env -w GOPROXY=https://goproxy.cn,direct

# GOSUMDB 用于校验
# 如果设置代理,这个变量不用设置。代理的网站可以校验

# GONOPROXY 不需要代理的仓库
# GONOSUMDB 不需要校验的仓库
# GOPRIVATE 设置私有仓库
# 以上三个仓库只需要设置 GOPRIVATE 就可以了
go env -w GOPRIVATE=‘*.example.com,*.example2.com‘
# 可以进行正则匹配,多个仓库使用逗号分隔。GOPRIVATE不需要走镜像和校验

3. 创建工程

go mod init github.com/<username>/go_test 注意用户名填写自己的

go.sum 罗列了当前项目直接或间接依赖的所有模块,并保证所有依赖不被篡改

go.sum 有两种校验方式:

  • h1: hash 表示整个项目 zip 文件打开后的全部文件的校验和生成的 hash
  • xxx/go.mod h1:hash 表示 go.mod 文件生成的 hash

4. 修改依赖

  • 可以直接修改 go.mod 文件
  • 或者执行go mod edit -replace=xxxx.1.1=xxxx.1.2 (这个命令会更改 go.mod 文件,replace 会重定向到新的版本)

闲扯Go语言(二)——包管理器

原文:https://www.cnblogs.com/owenqing/p/14399609.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!