Skip to main content

Module

配置go的环境变量

vi /etc/profile

export GOROOT=/usr/local/go #设置为go安装的路径,有些安装包会自动设置默认的goroot
export GOPATH=$HOME/go-work #默认的Golang项目的工作空间
export GOBIN=$GOPATH/bin # go install命令生成的可执行文件的路径
export PATH=$PATH:$GOROOT/bin:$GOBIN

查看go环境变量

go env

开启go modules配置

go env -w GOBIN=/Users/youdi/go/bin go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct // 使用七牛云的

go mod init 初始化module

  • 生成 go.mod 文件

    go mod init 项目名
    使用 go build 后 项目名就是生成的可执行文件的名字

  • 把所有依赖重新生成一遍, 编译但不生成可执行文件

go build ./... 
  • 生成可执行文件, 生成的文件在GoPath的bin目录里
go install ./...

go mod graph 打印出依赖

go mod download 下载依赖

在项目文件里面执行可以下载依赖

go mod tidy 整理依赖 少的添加,多的删除

添加需要的依赖,删除无用的依赖。

go mod vendor 将所有的依赖添加到当前的vendor目录

go mod verify 验证依赖内容及格式

go mod why 输出依赖关系

go mod edit 编辑依赖 有9个子命令

  • go help mod edit 查看帮助
  • go mod edit -module 修改module名称
  • go mod edit -require 添加依赖
  • go mod edit -fmt 格式化依赖

列出依赖

  • go mod graph 打印出依赖
  • go mod why 查询依赖关系
  • go list -m all 列出所有的依赖

添加依赖

  • go get 后面需要跟依赖名称才能下载
  • go build 会自动查找依赖并下载
  • go mod edit require
  • go mod download

go get升级

  • 运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
  • 运行 go get -u=patch 将会升级到最新的修订版本
  • 运行 go get package@version 将会升级到指定的版本号version
  • 运行go get如果有版本的更改,那么go.mod文件也会更改