分享
go mod 管理项目包
Mandelbrot_Kobe · · 6198 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
golang module 管理项目包
简介
- golang在1.11版本中引入了新的包管理工具 go mod。包管理一直是go语言的痛点。
- 包管理的常见需求:项目依赖某个包的不同版本,依赖本地的(私有的)包等
用法
- 个人推荐golang IDE:goland。上手快,功能强大,比idea快很多。这里用的也是goland
- 题外话:go mod的特性让golang越来越适应工程管理的需求。解放了对$GOPATH的依赖。更加注重项目本身。
- 进入正题:
- File --> New Project --> Go Module(vgo) 在location处选择自己的项目路径,路径不一定需要是$GOPATH。按需勾选vendering。Create!
clipboard.png
- 创建完之后项目名下边有go.mod
clipboard.png
- 如何在项目中定义自己需要的包,以configs包为例。右键项目名,新建文件夹,名为自己需要定义的包,此处示例为configs。如果这个包是私有的,不放到公开的github上,main函数以 import "webproject/configs" 导入包
clipboard.png
clipboard.png
- 如何在项目中导入第三方的包,以gin包为例。
4.1 直接import不管用,报错如下:clipboard.png
4.2 根据提示 Alt + Shift + Enter键或点击Sync packages。将需要的依赖写入到go.mod当中。clipboard.png
4.3 相关的依赖顺利写入到go.mod。clipboard.png
- 第四步中可能存在golang.org天朝网络问题,可以用 replace解决。我是直接用Proxifier解决。
总结
- 总的来说,使用go mod进行依赖管理,还是比较令人满意的。之后再看需要,补充go mod tidy,导入其他module包等情形。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信6198 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
golang module 管理项目包
简介
- golang在1.11版本中引入了新的包管理工具 go mod。包管理一直是go语言的痛点。
- 包管理的常见需求:项目依赖某个包的不同版本,依赖本地的(私有的)包等
用法
- 个人推荐golang IDE:goland。上手快,功能强大,比idea快很多。这里用的也是goland
- 题外话:go mod的特性让golang越来越适应工程管理的需求。解放了对$GOPATH的依赖。更加注重项目本身。
- 进入正题:
- File --> New Project --> Go Module(vgo) 在location处选择自己的项目路径,路径不一定需要是$GOPATH。按需勾选vendering。Create!
clipboard.png
- 创建完之后项目名下边有go.mod
clipboard.png
- 如何在项目中定义自己需要的包,以configs包为例。右键项目名,新建文件夹,名为自己需要定义的包,此处示例为configs。如果这个包是私有的,不放到公开的github上,main函数以 import "webproject/configs" 导入包
clipboard.png
clipboard.png
- 如何在项目中导入第三方的包,以gin包为例。
4.1 直接import不管用,报错如下:clipboard.png
4.2 根据提示 Alt + Shift + Enter键或点击Sync packages。将需要的依赖写入到go.mod当中。clipboard.png
4.3 相关的依赖顺利写入到go.mod。clipboard.png
- 第四步中可能存在golang.org天朝网络问题,可以用 replace解决。我是直接用Proxifier解决。
总结
- 总的来说,使用go mod进行依赖管理,还是比较令人满意的。之后再看需要,补充go mod tidy,导入其他module包等情形。