Go Module 未来的趋势

阿里云 Go Module 镜像

http://mirrors.aliyun.com/goproxy/

Go Modules介绍

Modules是Go 1.11中新增的实验性功能,基于vgo演变而来,是一个新型的包管理工具。

GO111MODULE

要使用go module,首先要设置GO111MODULE=on
GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:当前目录在GOPATH/src之外且该目录包含go.mod文件,或者当前文件在包含go.mod文件的目录下面。
在Go 1.11-1.12 默认都是auto,据可靠消息说1.13要修改为默认启动。

Go module 命令

download download modules to local cache (下载依赖的module到本地cache))
edit edit go.mod from tools or scripts (编辑go.mod文件)
graph print module requirement graph (打印模块依赖图))
init initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件))
tidy add missing and remove unused modules (增加丢失的module,去掉未用的module)
vendor make vendored copy of dependencies (将依赖复制到vendor下)
verify verify dependencies have expected content (校验依赖)
why explain why packages or modules are needed (解释为什么需要依赖)

替换

replace (
golang.org/x/crypto v0.0.0-20180820150726-614d502a4dac => github.com/golang/crypto v0.0.0-20180820150726-614d502a4dac
golang.org/x/net v0.0.0-20180821023952-922f4815f713 => github.com/golang/net v0.0.0-20180826012351-8a410e7b638d
golang.org/x/text v0.3.0 => github.com/golang/text v0.3.0
)

go get 升级

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 备注:本猿翻译水平有限,请各位看客见谅 翻译内容: go1.11 版本中 go help modules文档内容 ...
    星云数联阅读 7,317评论 0 1
  • vendor 在Go1.5 release的版本的发布vendor目录被添加到除了GOPATH和GOROOT之外的...
    _羊羽_阅读 9,421评论 0 2
  • 什么是 module?module 解决了什么问题? module 代表一个版本管理单元,它包括一个或者多个 pa...
    安佳玮阅读 5,682评论 0 5
  • 科学家是技术的生产者,技术是产业的推动者; 企业家是产业的组织者,产业是技术的支持者; 科学家以严密的思维方式研究...
    时间鉴史阅读 2,532评论 0 1
  • 得益于诸多都市偶像剧的塑造, 人们对于白领上班地点的想象大多是这样的: 上下班搭乘地铁,出了站就是公司, 办公室高...
    陶海波阅读 1,747评论 1 1

友情链接更多精彩内容