go mod 使用方法
因为使用 go get 下载的包都进入到了pkg
该模式是 默认为 go mod开启状态,主要的环境变量参数是
GO111MODULE="on"
#开启是 on 关闭是 off 自动是 auto
使用命令在文件夹下 使用 mod 模式
go mod init <文件夹名称>
使用了 go mod模式程序运行没有问题,但是goland没有import包都是爆红,这样的问题就会导致编程没有办法智能提示。
解决方法:
参考解决办法
按照当前的趋势估计 go 之后的版本都是用 go mod 来管理了,gopath 这种模式感觉会被淘汰。
- go mod help 查看帮助 go mod init<项目模块名称>初始化模块,会在项目根目录下生成 go.mod 文件。
- go mod tidy 根据 go.mod 文件来处理依赖关系。
- go mod vendor 将依赖包复制到项目下的 vendor 目录。建议一些使用了被墙包的话可以这么处理,方便用户快速使用命令 go build -mod=vendor 编译
- go list -m all 显示依赖关系。go list -m -json all 显示详细依赖关系。
- go mod download 下载依赖。参数是非必写的,path 是包的路径,version 是包的版本。
基本上用的时候就是,首先 go init 一下,然后编译的时候会把对应 git 上的包自己编译进去,编译之前可以 go tidy 处理一些依赖关系。如果网速慢也可以用 vendor 下载下来。
在此建议使用 go mod 的时候建议配置上 goproxy,毕竟国内被墙的厉害,就是环境变量加个 GOPROXY=https://goproxy.io 就 ok