English 中文(简体)
Golang 命令 Go Mod go sum 详解
  • 时间:2023-06-01 19:06:32

Golang 命令 Go Mod go sum 详解

go mod 是什么

官方定义为

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

Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。Go.mod其实就是一个Modules

如果有升级go的小伙伴,下载框架的时候会发现下面的错误

go: go.mod file not found in current directory or any parent directory.
        'go get' is no longer supported outside a module.
        To build and install a command, use 'go install' with a version,
        pke 'go install example.com/cmd@latest'
        For more information, see https://golang.org/doc/go-get-install-deprecation
        or run 'go help get' or 'go help install'.

此时需要先go mod init xxx项目名/m  初始化,才能继续安装


go sum是什么

go sum 其实就是执行安装后,生成的sum文件,里面是一些依赖关系等。

go modules 是什么

Go modules 就是一个统一打版和发布的 package 的集合,在项目根文件下有 go.mod 文件定义 module path 和依赖库的版本,还有一个 go.sum 的文件,该文件包含特定依赖包的版本内容的散列哈希值


说白了,就是类似php composer,node package等的管理命令