Go Modules使用的基本教程.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Go Modules使⽤教程 golang module学习 ⼀下为个⼈总结内容,下个模块是分享⽂档原⽂ 分享⽂档 使⽤步骤 1 go mod init [project_name] // 未使⽤过mod的⼯程⼀定要写⼯程名字这个参数 2 go build // 处理依赖问题 处理golang不能获取到的包 1 2 // 获取新包 3 $ go get /golang/net 4 go: finding /golang/net latest 5 go: downloading /golang/net v0.0.0-20190301231341-16b79f2e4e95 6 // 复制新版的版本号 v0.0.0-20190301231341-16b79f2e4e95 7 8 // 替换 注意包与版本号之间是"@"符号,旧包和新包之间使⽤等号"="连接 9 $ go mod edit -replace=/x/net@v0.0.0-20180906233101- 161cd47e91fd=/golang/net@v0.0.0-20190301231341-16b79f2e4e95 10 11 // 清理mod依赖 12 $ go mod tidy 13 处理/genproto依赖问题 1 go mod edit -replace=/genproto@v0.0.0-20180831171423- 11092d34479b=/google/go-genproto@v0.0.0-20190307195333-5fe7a883aa19 引⼊ //myitcv/talks/2018-08-15-glug-modules/main.slide#1 Go Modules介绍 Golang 官⽅并没有推荐最佳的包管理⽅案。到了1.5版本时代,官⽅引⼊包管理的设计,加了 vendor ⽬录来⽀持本地包管理依赖。 官⽅ wiki 推荐了多种⽀持这种特性的包管理⼯具,如:Godep、gv、gvt、glide、govendor等。 Modules是Go 1.11 中新增的实验性功能,基于vgo演变⽽来,是⼀个新型的包管理⼯具。 关于 mod 官⽅给出了三个命令go help mod、go help modules、go help module-get 帮 助了解使⽤。 5 ⽉份,Russ Cox的Proposal “cmd/go: add package version support to Go toolchain”被accepted, 这周五早些时候Russ Cox将vgo的代码merge到Go主⼲,并将这套机制正式命名为“go module”。由 于vgo项⽬本身就是⼀个实验原型,merge到主⼲后,vgo这个术语以及vgo项⽬的使命也就就此结 束了。后续Go modules机制将直接在Go主⼲上继续演化。 Go modules是go team在解决包依赖管理⽅⾯的⼀次勇敢尝试,⽆论如何,对Go语⾔来说都是⼀个 好事。在本篇⽂章中,我们就⼀起来看看这个新引⼊的go modules机制。 常见的包管理⼯具 govendor dep glide godep 这些包管理⼯具都是基于GOPATH或者vendor⽬录,并不能很好的解决不同版本依赖问题。 Modules是在GOPATH之外⼀套新的包管理⽅式。 如何激活Modules ⾸先要把go升级到1.11。 升级后,可以设置通过⼀个环境变量GO111MODULE来激活modules : GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧 版本那种通过vendor目录或者GOPATH模式来查找。 GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。 GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功 能。这种情况下可以分为两种情形:当前目录在GOPATH/src之外且该目录包含go.mod文 件,或者当前文件在包含go.mod文件的目录下面。 当module功能启⽤时,GOPATH在项⽬构建过程中不再担当import的⾓⾊,但它仍然存储下载的依 赖包,具体位置在$GOPATH/pkg/mod。 也会把 go install

文档评论(0)

悟空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档