GO111MODULE 环境变量用于控制 Go Modules 的使用。它有三个可能的值:off、on 和 auto。其中,GO111MODULE=on 强制启用 Go Modules,即使在 $GOPATH 目录内也会使用 Go Modules。
Go Modules 简介Go Modules 是 Go 语言自 1.11 版本引入的依赖管理系统,旨在替代传统的基于 $GOPATH 的依赖管理方式。Go Modules 通过 go.mod 文件管理项目的依赖关系,使得依赖管理更加方便和可靠。
GO111MODULE 环境变量GO111MODULE=off:禁用 Go Modules,即使在项目目录中有 go.mod 文件,Go 也会使用传统的 $GOPATH 模式。GO111MODULE=on:强制启用 Go Modules,即使在 $GOPATH 目录内也会使用 Go Modules。GO111MODULE=auto(默认值):在项目根目录或其父目录中存在 go.mod 文件时启用 Go Modules,否则使用传统的 $GOPATH 模式。启用 Go Modules你可以通过设置 GO111MODULE 环境变量来强制启用或禁用 Go Modules。例如:
export GO111MODULE=on
或者在 Windows 上:
set GO111MODULE=ongo.mod 文件
在启用 Go Modules 后,你需要在项目根目录中创建一个 go.mod 文件来管理依赖。可以使用以下命令初始化一个新的 Go Modules 项目:
go mod init <module_name>
例如:
go mod init example.com/myproject
这会在项目目录中创建一个 go.mod 文件,内容类似于:
module example.com/myproject go 1.16使用 Go Modules 管理依赖
在启用 Go Modules 后,你可以使用 go get 命令来添加依赖,依赖会被添加到 go.mod 文件中。例如:
go get github.com/gin-gonic/gin
这会在 go.mod 文件中添加依赖,并在 go.sum 文件中记录依赖的版本信息和校验和。
总结GO111MODULE=on 强制启用 Go Modules,即使在 $GOPATH 目录内也会使用 Go Modules。GO111MODULE 环境变量用于控制 Go Modules 的使用,有三个可能的值:off、on 和 auto。Go Modules 通过 go.mod 文件管理项目的依赖关系,使得依赖管理更加方便和可靠。通过设置 GO111MODULE=on,你可以确保始终使用 Go Modules 来管理项目的依赖。
网友回复