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

Golang1.12 包管理Go module使用

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

简介

1.11版本初步引入的GoModule模块。1.12版本正式开始支持。GoModule是官方提供的包管理解决方案。通过GoModule,开发者可以把工程放在GOPATH之外的位置。相比于之前的包管理方案: dep,vendor。GoModule的管理方案更加灵活。
我们运行go mod help来看看GoModule中有哪些命令。

这里主要介绍初始化相关的命令
go mod init [module]:初始化.mod 包管理文件到当前工程。
go mod vendor:vendor版本的解决方案,将依赖复制到vendor下面。
go mod tidy:移除未用的模块,以及添加缺失的模块。
go mod verify:验证所有模块是否正确。

下面我们看看怎么在工程中添加GoModule支持。

初始化GoModule

首先我们在GOPATH之外创建一个工程
目录结构如下:

代码如下,引用了logrus包:

go build当前代码

报错,当前没有包含module,没有发现module支持。
1.初始化module go mod init kimiProject
如下:

工程中自动添加了mod的支持文件

默认是模块名和当前的golang版本

当前我们再build工程,却发现报了新的错误:

主要是因为golang.org被墙了(高墙不胜寒),我们需要用替代地址去替换掉当前的地址。
在go.mod文件添加如下代码:
replace (
golang.org/x/crypto => github.com/golang/crypto latest
golang.org/x/sys => github.com/golang/sys latest
)

如图

我们再执行build

发现当前编译成功了。而且从替换地址下载了依赖库。我们看看go.mod文件被写入了什么:

GoModule自动给依赖文件加了版本号。并且把当前需要logrus require了进来。
同时也生成了可执行文件

GOPATH/pkg/mod/cache/download/ 生成了对应的缓存文件

以上就是在一个空白工程中添加GoModule包管理了。


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
关于解决keil4和mdk共存后51不能使用gotodefinitionOf'XXXXXX'问题发布时间:2022-07-10
下一篇:
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