首先说为什么我要使用 go mod 而不是直接使用GOPATH?
因为本人是使用GOLang来编辑的,当我导入某个第三方库的时候,在编辑器中是可以的,如下:
但是当我使用cmd go build的时候,死活找不到我已经go get的包,老是编译失败。。。
然后就直接使用go mod,方便简单一个项目一个mod多好
Go mod 步骤:
首先命令行cd到你的项目目录下(随便什么位置都可以)
然后:
go env -w GO111MODULE=on
- GO111MODULE=off:关闭 Go Modules,沿用旧版本的 GOPATH 方式,项目的依赖包依旧在 vendor 目录或者$GOPATH/src 目录下进行查找。
- GO111MODULE=on:开启 Go Modules,项目的依赖包记录在 go.mod文件中。
- GO111MODULE=auto:go 指令根据当前目录来决定是否启用 Modules 功能。 当项目处于 GOPATH/src内,则会使用 GOPATH/src 的依赖包。
- 当项目处于 GOPATH/src 外,则使用 go.mod 里 require
声明的依赖包。
就会看到目录下多了一个mod文件:
然后后面就直接运行就可以了,到时候go build的时候没导入的包按照命令行给出来就好了