如何避免Go模块版本冲突,正确使用Module管理?

2026-05-29 09:412阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1649个文字,预计阅读时间需要7分钟。

如何避免Go模块版本冲突,正确使用Module管理?

前文:针对Go的版本管理,主要使用过glide。下面介绍Go 1.11之后官方支持的版本管理工具mod。

关于mod,官方提供了三个帮助命令:- go help mod- go help modules- go help module

前提

对于Go的版本管理主要用过 glide,下面介绍 Go 1.11 之后官方支持的版本管理工具 mod。

关于 mod 官方给出了三个命令​​go help mod​​​、​​go help modules​​​、​​go help module-get​​帮助了解使用。

设置 GO111MODULE

可以用环境变量​​GO111MODULE​​开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。

  • ​​GO111MODULE=off​​无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
  • ​​GO111MODULE=on​​模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
  • ​​GO111MODULE=auto​​在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。

在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/pkg/mod 中,也会把 go install 的结果放在 $GOPATH/bin 中。

阅读全文

本文共计1649个文字,预计阅读时间需要7分钟。

如何避免Go模块版本冲突,正确使用Module管理?

前文:针对Go的版本管理,主要使用过glide。下面介绍Go 1.11之后官方支持的版本管理工具mod。

关于mod,官方提供了三个帮助命令:- go help mod- go help modules- go help module

前提

对于Go的版本管理主要用过 glide,下面介绍 Go 1.11 之后官方支持的版本管理工具 mod。

关于 mod 官方给出了三个命令​​go help mod​​​、​​go help modules​​​、​​go help module-get​​帮助了解使用。

设置 GO111MODULE

可以用环境变量​​GO111MODULE​​开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。

  • ​​GO111MODULE=off​​无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
  • ​​GO111MODULE=on​​模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
  • ​​GO111MODULE=auto​​在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。

在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/pkg/mod 中,也会把 go install 的结果放在 $GOPATH/bin 中。

阅读全文