• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go基础第七篇:依赖管理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

go modules亦称为go mod,是一种依赖管理方式,要求我们把依赖的包及其版本写在go.mod文件中,就好像java的pom.xml。

go.mod文件内容示例如下:

module github.com/xxx/yy

go 1.14

require (

    github.com/gin-gonic/gin v1.6.3

)

go mod模式开发时,不要求把项目源码放在GOPATH下。执行go get时,会把依赖包下载到GOPATH中。

go get相当于java的Download Sources。go get -v ...,不行就go get -u ...。

go list -m ...用于查看所有依赖的包。

go build用于打包,相当于java的mvn package。可以用-o指定输出文件名称。

在开发机上需要设置GOPATH和GOROOT环境变量。

GOPATH指定依赖包要下载到哪个路径,好像maven setting中的一样。go 1.8之前必须设置,1.8之后(包括1.8)可以不设置。如果不显式设置的话,则默认是当前用户主目录下的go目录,即$HOME/go。

GOROOT指定go的安装路径 ,就像JAVA_HOME一样,可以不显式设置。

可以通过go env命令查看go各环境变量。如果在go build时遇到问题,先检查下环境变量是否配置正确。

如有网络错误,可设置代理

如果在国内, 可以设置go代理:go env -w GOPROXY=https://goproxy.cn,参考https://github.com/TarsCloud/TarsGo

也可以设置为https://goproxy.io,direct,参考https://goproxy.io/zh/

可以通过go help mod查看有哪些go mod子命令,有如下

download:download modules to local cache

go mod download xxx。

edit:edit go.mod from tools or scripts

graph:print module requirement graph

init:initialize new module in current directory

tidy:add missing and remove unused modules。当在代码中使用了第三方库 ,但是go.mod中并没有跟着更新的时候,如果直接run或者build就会报missing go.sum entry for module providing package <package_name>,这时候执行以下go mod tidy就好了。

vendor:make vendored copy of dependencies

verify:verify dependencies have expected content

why:explain why packages or modules are needed


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go map定义的几种方式以及修改技巧发布时间:2022-07-10
下一篇:
舍弃Python,为什么知乎选用Go重构推荐系统?发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap