Golang go.mod 环境搭建(包管理)

1. 安装 golang

官网下载 Golang 程序,下载完成后,自行百度安装就可以了,很简单。

2. 查看 go 环境信息

go env

file

3. 配置环境变量

序号 环境变量 阐述 更多值
1 GO111MODULE=auto 开启go.mod autoonoff
2 GOPROXY=https://goproxy.io 设置代理服务器 https://goproxy.io
阿里:https://mirrors.aliyun.com/goproxy/
3 $GOPATH/bin 将 $GOPATH 换成自己的路径 go env 得到的gopath路径

3.1 解释环境变量

  • GO111MODULE=
    • auto:推荐使用(也是 golang 默认设置)
      • 如果项目在 gopath 路径下就会从 gopath 或者 vendor 中寻找依赖包;
      • 如果项目在外部(不在 gopath 下)会使用 go module 的方式寻找依赖包。
    • on
      • 不管项目在哪里,只会使用 go module 的方式寻找依赖包。
    • off
      • 关闭 go module 功能。
  • GOPROXY=:解决 golang 依赖包墙的问题。

4. 安装 web 框架

4.1 beego

go get github.com/astaxie/beego

go get github.com/beego/bee

5. 构建项目

以构建一个 beego 项目 为例演示:

  1. bee new demo
  2. 复制 $GOPATH/src/demoE:\github.com。(可以是非 GOPATH 的任意文件夹)
  3. cd E:\github.com\demo。(进入到刚复制的项目)
  4. 使用 go mod 初始化:
    • go mod init demo;(初始化 go.mod ,会再项目下生成文件 go.mod
    • go mod tidy;(拉取项目所依赖的 ,会生成文件 go.sum
    • bee run;(启动 beego 项目)
    • 打开浏览器访问:http://localhost:8080。(查看效果

6. go.mod 浅析

6.1 命令

命令 阐述 备注
go help mod 查看go.mod命令指南 帮助
go help mod download 查看go mod download 命令指南 帮助
go mod download 下载依赖的module到本地 cache ~
go mod edit 编辑 go.mod 文件 ~
go mod graph 打印 模块(module) 依赖图 ~
go mod init 在当前文件夹下初始化一个新的 module , 并创建go.mod文件 1、创建 module
go mod tidy 拉取项目所需要的 module,并去掉未使用的 module 2、拉取
go mod vendor 将依赖复制到 vendor 目录下 3、打包?
go mod verify 校验依赖 *、校验
go mod why 解释为什么需要依赖 ~

6.2 依赖管理

  • go list -m all :列出当前模块及其所依赖项
  • go list -m -version xxxxx :列出 xxxx 包 可用标记版本
  • go get xxxx@v1.3.1:将 xxxx 包 升/降级到 版本1.3.1

6.3 go get 升级

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

7. govendor

介绍一款第三方的 Go 包管理器 govendor,Github
在实际项目开发中,从 govendorgo mod 中任选一款即可,本文强烈 推荐使用 go mod,毕竟是 Go 官方的亲儿子,而且用起来还不错。

8. 关于 go.mod 更多资料

讨论数量: 0

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!