go mod依赖包管理

    xiaoxiao2023-10-08  173

    之前一直使用第三方依赖包管理工具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 新东西偶尔还会出现问题 ,这个命令可以尝试修复

    最新回复(0)