分享
  1. 首页
  2. 文章

Go 包管理之module

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

Go Module 使用

Go Module 是官方用来管理 package 依赖的工具, 1.11 新加的, 使用时需要设置变量: GO111MODULE=on .

go mod help 可以查看其帮助文档:

$ go help mod
Go mod provides access to operations on modules.
Note that support for modules is built into all the go commands,
not just 'go mod'. For example, day-to-day adding, removing, upgrading,
and downgrading of dependencies should be done using 'go get'.
See 'go help modules' for an overview of module functionality.
Usage:
 go mod <command> [arguments]
The commands are:
 download download modules to local cache
 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
 vendor make vendored copy of dependencies
 verify verify dependencies have expected content
 why explain why packages or modules are needed
Use "go help mod <command>" for more information about a command.

下面来说明下如何使用.


示例

go mod 要求项目必须在 GOPATH 中, 所以在这个例子中设置为当前目录(~/GoLang) export GOPATH=$PWD, 然后在 src 下创建项目 test , 目录结构如下:

GoLang
└── src
 └── test
 └── main.go

示例的代码请见: GoModule

初始化

进入 test 所在目录, 执行 go mod init 即可完成初始化, 会多出一个文件: go.mod .

记录依赖

执行 go get ./ 即会开始查找依赖并下载记录到 go.mod 文件中.

go mod 会将依赖下载到 $GOPATH/pkg 下, 用来当作缓存, 可以在多个项目之间共享.

依赖变更及 vendor

如在项目的开发过程中, 依赖有变更, 可使用 go mod tidy 来应用这些变更到 go.mod 文件.

在项目发布时会要将依赖复制到项目中, 此时使用 go mod vendor 即可完成此操作.


到此就介绍完了 go mod 的用法, 其他的子命令用法请查看帮助文档.

最后在说下需要注意的地方:

  1. 项目必须要在 GOPATH
  2. 需要设置 GO111MODULE=on 变量

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

本文来自:简书

感谢作者:jouyouyun

查看原文:Go 包管理之module

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

关注微信
1646 次点击
被以下专栏收入,发现更多相似内容
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏