go mod依赖包管理

之前一直使用第三方依赖包管理工具govendor,go1.11之后官方出了go mod,使用非常简单,可以完全抛弃GOPATH和vendor。

1 GO111MODULE=auto

在原来的项目上测试

[root@VM_0_14_centos xxx]# go mod init xxx
go: modules disabled inside GOPATH/src by GO111MODULE=auto; see 'go help modules'

需要设置环境变量

GO111MODULE=on

GO111MODULE的选项有三个,下面是三个选项的解释:

  • off :go命令从不使用新模块支持。它查找vendor 目录和GOPATH模式”。
  • on :go命令需要使用模块,go 会忽略 $GOPATH 和 vendor 文件夹,只根据go.mod下载依赖。
  • auto :或未设置,则go命令根据当前目录启用或禁用模块支持。仅当当前目录位于$GOPATH/src之外并且其本身包含go.mod文件或位于包含go.mod文件的目录下时,才启用模块支持。

2 依赖包存储位置

使用go get获取的包放在$GOPATH/src/目录下,使用go mod下载的依赖包放在GOPATH/pkg/mod/目录下,所有项目共享

3 go clean -modcache

go mod 新东西偶尔还会出现问题 ,这个命令可以尝试修复

你可能感兴趣的:(Golang)