go module 基本使用及Goland IDE的设置
go module简介
github地址 https://github.com/golang/go/wiki/Modules
go版本在1.13及以后使用了官方自带的go依赖管理库go module进行管理。
将某个项目(文件夹)下的需要的依赖包及版本等写入到一个 文件,使用之后代码就可以不放置在src下了
开启和设置代理请参考https://blog.csdn.net/fbbqt/article/details/中的代理设置
状态
go在1.13及之后的版本默认是auto,默认模式,当前目录在GOPATH/src目录之外而且包含go.mod文件才会启用
设置go module为 on(全部开启)/off(全部不开启)
Windows系统:
Linux/Mac系统:
然后输入来检查
查看 选项,为 代表修改成功
初始化 go.mod
项目刚开始的时候,项目中还没有文件。
进入你的项目文件夹
然后执行以下命令:
(demo为项目名)
然后在项目根目录就会出现一个 go.mod 文件
注意,此时只进行了初始化, go.mod 文件只标识了项目名和go的版本
添加缺失的模块以及移除不需要的模块
该命令会根据你的项目检测该文件夹目录下需要引入的依赖,并把依赖写入 go.mod 文件,写入后就会发现 go.mod 文件有所变动
获取依赖库
我们需要把依赖下载至本地,但不是使用 go get
注:如果GOPROXY没有设置好或设置的镜像不好会导致速度太慢,甚至下载不动
在项目文件夹中生成vendor(放项目依赖的所有包)文件夹后,再把项目文件夹放到没有依赖包的新环境中时,也可以直接运行
执行完成后会将依赖全部下载到 GOPATH 下,会在根目录下生成 go.sum 文件, 该文件是依赖的详细依赖,
但我们的项目文件夹并没有放到 GOPATH 下,那下载至到 GOPATH 下的依赖是没有用的,也就找不到这些包,就没法用
生成vendor文件夹,放置go.mod文件描述的依赖包
执行此命令,会将刚才下载到 GOPATH 下的依赖转移到该项目根目录下的 vendor(自动新建) 文件夹下
此时我们就可以使用这些依赖了
Goland 设置开启 Go Module
Goland IDE默认是关闭该功能的,我们需要手动打开。都打上勾,因为我是在系统变量中设置了,所以这里这里就没有设置。
更新依赖
是指项目引入了新的包依赖,更新依赖从检测依赖执行即可,不需要初始化,即
新增依赖
直接在项目中 import 这个包,之后更新依赖即可
go nodule常用命令
# 手动修改依赖文件
# 打印依赖图
官方依赖库管理命令
设置代理:
是用来依赖管理的,所以使用 时无需使用 命令( 如果要指定包的版本或者更新指定的包可以使用go get)
设置代理参考文档 https://github.com/goproxy/goproxy.cn/blob/master/README.zh-CN.md