go mod命令 

go mod download    下载依赖module本地cache默认为$GOPATH/pkg/mod目录go mod edit        编辑go.mod文件
go mod graph       打印模块依赖图
go mod init        初始化当前文件夹, 创建go.mod文件
go mod tidy        增加缺少的module删除无用的module
go mod vendor依赖复制vendor下
go mod verify      校验依赖
go mod why         解释为什么需要依赖

1.go mod init project_name

go mod init 命令用于初始化一个新的 Go 模块。它会在当前目录创建一个新的 go.mod 文件,该文件包含模块名称版本信息,以及该模块依赖的其他模块信息。在使用 go mod 管理依赖关系时,go.mod 文件是必须的。

2. go mod tidy

go mod tidy 命令用于整理和清理项目go.mod 文件和依赖项。它的主要作用是移除使用依赖项,更新依赖项的版本,以及将 go.mod 文件中的依赖项列表与实际使用的依赖项列表保持一致。

我们开发 Go 项目时,通常会使用第三方包或库。这些依赖项会被记录项目go.mod 文件中。但是,有时候我们可能会添加一些依赖项,但最终却没有使用它们。这些未使用的依赖项将会增加项目的体积和构建时间,因此需要将其移除。此外,当我们使用的依赖项有新的版本时,我们需要更新依赖项的版本以获得更好性能安全性。 

go mod tidy 命令会自动分析项目代码和依赖项,找出未使用的依赖项并将其移除,同时更新依赖项的版本。它还会检查 go.mod 文件中的依赖项列表是否与实际使用的依赖项列表一致,如果不一致,会自动更新 go.mod 文件中的依赖项列表。这样可以确保项目的依赖项列表始终保持最新和准确。

3. go build project_name

go build可以我们创建一个二进制程序,我们在新的环境中即使没有GO的环境下也能使用这个包。但是在不同操作系统下这个二进制的程序也是不同的。如下

如果你的Windows使用的是cmd,那么按如下方式指定环境变量

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台linux
SET GOARCH=amd64  // 目标处理器架构amd64

如果你的Windows使用的是PowerShell终端,那么设置环境变量语法

$ENV:CGO_ENABLED=0
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"

在你的Windows终端执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行可执行文件了。

go build

Windows编译Mac可执行文件

Windows编译Mac平台64位可执行程序

cmd终端执行

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

PowerShell终端执行

$ENV:CGO_ENABLED=0
$ENV:GOOS="darwin"
$ENV:GOARCH="amd64"
go build

Mac编译Linux可执行文件

Mac电脑编译得到Linux平台64位可执行程序

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

Mac编译Windows可执行文件

Mac电脑编译得到Windows平台64位可执行程序

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux编译Mac可执行文件

Linux平台下编译Mac平台64位可执行程序

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build

Linux编译Windows执行文件

Linux平台下编译Windows平台64位可执行程序

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

 4. go get

在项目中执行go get命令可以下载依赖包,并且还可以指定下载版本

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

如果下载所有依赖可以使用go mod download命令。

5. go mod edit

格式化

因为我们可以手动修改go.mod文件,所以有些时候需要格式化该文件。Go提供了一下命令:

go mod edit -fmt

添加依赖项

go mod edit -require=golang.org/x/text

移除依赖项

如果只是想修改go.mod文件中的内容,那么可以运行go mod edit -droprequire=package path比如要在go.mod中移除golang.org/x/text包,可以使用如下命令:

go mod edit -droprequire=golang.org/x/text

关于go mod edit的更多用法可以通过go help mod edit查看

 文章大部分转载: Go语言之依赖管理 | 李文周的博客

原文地址:https://blog.csdn.net/qq_48480384/article/details/129915661

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_16587.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注