使用go mod管理包
在go语言开发中,一般都会在gopath的src目录下进行项目的开发,gopath下会有一些开发所必须的包,可以直接导入使用,但如果想在gopath外进行开发,就需要使用go mod进行包的管理,而且如果在gopath下引入其他的包如"github.com/gin-gonic/gin",项目虽然能运行,但是代码会显示报错,当使用go mod管理包的时候就可以解决,使用go mod管理包的具体步骤如下所示:
-
首先将go版本更新到1.11及以上。
-
如果项目在GoPath目录下,设置系统环境变量GO111MODULE=on;在Windows下使用命令set GO111MODULE=on即可设置。
-
执行以下命令,在当前目录下生成go.mod文件。
go mod init [模块名]
如go mod init example。
注:执行这条命令时,当前目录不能存在go.mod文件。如果之前生成过,要先删除; -
如果你工程中存在一些不能确定版本的包,那么生成的go.mod文件可能就不完整,因此继续执行下面的命令:
go mod tidy
执行完上述命令,它会添加缺失的模块以及移除不需要的模块。
-
执行命令以下来检查当前模块的依赖是否全部下载下来,是否下载下来被修改过。
go mod verify
如果所有的模块都没有被修改过,那么执行这条命令之后,会打印 all modules verified,如下图所示:
-
执行命令go mod vendor生成vendor文件夹,该文件夹下将会放置你go.mod文件描述的依赖包,文件夹下同时还有一个文件modules.txt,它是你整个工程的所有模块。在执行这条命令之前,如果你工程之前有vendor目录,应该先进行删除。有时go代码可以运行,但是在编辑器中会标红,执行该命令后,代码不再被标红。
注:有时下载某些包,需要科学上网,所以需要执行以下命令set GOPROXY=https://goproxy.cn
执行完上述命令后,就可以下载所需的包了。