目前,golang的包管理工具有很多,用的比较多的包括:govendor、godep、glide等等。但是,一直以来,golang官方都没有提供一个标准的包管理工具,直到go1.11发布后,出现了一个实验中的go module,本文主要介绍go module的使用
使用go module,需要配置两个环境变量,即GO111MODULE和GOPROXY
win10 系统下,你需要如下配置:
在环境变量中设置 GO111MODULE为 on, 并且在Goland中做如下设置:
![](https://i-blog.csdnimg.cn/blog_migrate/60e49e9a5d4cb204c3f27fde91a03fbc.png)
如果是linux系统,则需要在环境变量中做如下设置
![](https://i-blog.csdnimg.cn/blog_migrate/47fff27b2a1c54a86eb82f029fa89a6a.png)
做好设置后,我们可以尝试写一个test,建立一个文件夹gintest,在tintest新建各个go.mod文件
go mod init server
这里需要注意的是生成mod的名称必须与文件中引入的本地路径一致, 必须module xxx,引包得用这个xxx/yyy 比如:
![](https://i-blog.csdnimg.cn/blog_migrate/b1b519ad0e28fe9d24bdcc57b3d94522.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd148a0dd565496d9d94f2d891faa499.png)
然后同目录下,写一个测试main.go
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
//初始化引擎实例
router:=gin.Default()
//注册一个Get请求的方法
router.GET("/", func(context *gin.Context) {
context.String(http.StatusOK,"HelloWorld")
})
router.Run()//默认8080端口 自己指定例如: router.Run(":8888")
}
然后go run main.go, go mod 便会自动加载依赖包,而不需要手动去 go get
下载的依赖包默认放在 GOPATH的pkg目录下
参考