go mod - yaokun123/php-wiki GitHub Wiki
一、什么是go mod
go mod是Go语言的模块管理工具,可用来代替传统的GOPATH。
注: 要使用go mod,必须将golang升级到1.11版本以上
二、go mod和GOPATH的区别有哪些?
go mod的代码开发不局限于某一个目录,GOPATH的代码开发必须在GOPATH的src目录下
go mod的依赖无需手动管理,可执行一条命令后自动管理依赖,GOPATH的包依赖需要一个一个解决
go mod在使用之前需要先开启,默认是没有开启的,GOPATH不需要特别设置,只要进入到src目录下就可以进行开发
三、如何配置开启go mod
go env -w GOBIN=/usr/local/go/bin #配置下go bin
go env -w GO111MODULE=on #开启go mod
go env -w GOPROXY=https://goproxy.cn,direct #七牛云代理
GO111MODULE有三个值:off, on和auto(默认),说明如下:
GO111MODULE=off,关闭go mod,寻找依赖包通过旧版本的vendor目录或者GOPATH目录来查找
GO111MODULE=on,开启go mod,寻找依赖包不会去GOPATH目录下查找
GO111MODULE=auto,默认值,go将会根据当前目录来决定是否启用module功能
四、通过go mod管理项目
1、首先在服务器上任意位置创建演示项目demo。>mkdir demo
2、进入项目demo中,初始化项目。>cd demo >go mod init demo
- 初始化后,在项目目录下生成了go.mod文件,文件内容包含模块名和go的版本信息
3、go mod download // 下载 go.mod 文件中指明的所有依赖,使用此命令来下载指定的模块
4、go mod tidy // 整理现有的依赖,使用此命令来下载指定的模块,并删除已经不用的模块
五、IDEA开启go mod支持
设置中选择Go>Go Modules
勾选 Enable Go modules Integration
Environment 设置为export GOPROXY=https://goproxy.io