go mod 管理项目包

Mandelbrot_Kobe · · 5399 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang module 管理项目包

简介

  • golang在1.11版本中引入了新的包管理工具 go mod。包管理一直是go语言的痛点。
  • 包管理的常见需求:项目依赖某个包的不同版本,依赖本地的(私有的)包等

用法

  • 个人推荐golang IDE:goland。上手快,功能强大,比idea快很多。这里用的也是goland
  • 题外话:go mod的特性让golang越来越适应工程管理的需求。解放了对$GOPATH的依赖。更加注重项目本身。
  • 进入正题:
  1. File --> New Project --> Go Module(vgo) 在location处选择自己的项目路径,路径不一定需要是$GOPATH。按需勾选vendering。Create!

    clipboard.png

  2. 创建完之后项目名下边有go.mod

    clipboard.png

  3. 如何在项目中定义自己需要的包,以configs包为例。右键项目名,新建文件夹,名为自己需要定义的包,此处示例为configs。如果这个包是私有的,不放到公开的github上,main函数以 import "webproject/configs" 导入包

    clipboard.png

    clipboard.png

  4. 如何在项目中导入第三方的包,以gin包为例。
    4.1 直接import不管用,报错如下:

    clipboard.png
    4.2 根据提示 Alt + Shift + Enter键或点击Sync packages。将需要的依赖写入到go.mod当中。

    clipboard.png
    4.3 相关的依赖顺利写入到go.mod。

    clipboard.png

  5. 第四步中可能存在golang.org天朝网络问题,可以用 replace解决。我是直接用Proxifier解决。

总结

  • 总的来说,使用go mod进行依赖管理,还是比较令人满意的。之后再看需要,补充go mod tidy,导入其他module包等情形。

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:Mandelbrot_Kobe

查看原文:go mod 管理项目包

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5399 次点击  
加入收藏 微博
1 回复  |  直到 2019-04-18 22:04:35
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传