您的位置 首页 golang

Golang包管理go modules

简介

Go modules 是 Go 语言的官方默认的包管理方案。

在Go 1.11 的时候就已经发布了,只是默认没有启用,需要通过参数开启

GO111MODULE=”on”

在 Go1.12、 Go1.13已经有了很大的改善。

在Go1.14已经正式启用,推荐在生产上使用。

之前在 GOPATH 的环境下载一个包都需要用到梯子,现在 go modules 直接使用 goproxy 进行代理设置方便多了。


设置

使用 go modules 的时候还是要配置GOPATH变量的

变量

 echo 'export GOROOT=/opt/go' >> /etc/profile
echo 'export GOPATH=/data/gopath' >> /etc/profile
echo 'export PATH=/opt/go/bin:$PATH' >> /etc/profile
source /etc/profile  

开启 modules

 go env -w GO111MODULE=on  

不管默认有没有开,我们这里可以直接手动设置开启。

设置代理

 go env -w GOPROXY=  

也可以设置多个

  go env -w GOPROXY=  

设置代理,可以快速下载到包,不再需要梯子了。

使用

使用go modules的时候,需要生成 go.mod 文件来保存包信息。

生成go.mod

 go mod  ini t	 project   

project 替换成项目的名称就可以了,调用本项目下的包就是 import project/…/…

自动检查依赖

 go mod tidy	  

不知道项目下有依赖什么包,直接使用这个命令就会自动在 go.mod 生成依赖包的记录

下载依赖

 go mod download	  

根据 go.mod 下载对应的依赖包

查看现有的依赖结构

 go mod graph  

go mod edit 编辑 go.mod 文件

导出项目所有的依赖到vendor目录

 go mod vendor	  

这个一般也没多大必要,如果你怕你的依赖某天有可能被删除,就保存一下包

校验模块是否被篡改过

 go mod verify	  

查看为什么需要依赖某模块

 go mod why gopkg.in/ini.v1  

gopkg.in/ini.v1 就是模块的名称

总结

如果使用 vscode 开发,安装好 vscode-go ,一些包管理的工具会自动帮忙完成的。

文章来源:智云一二三科技

文章标题:Golang包管理go modules

文章地址:https://www.zhihuclub.com/98958.shtml

关于作者: 智云科技

热门文章

网站地图