Go1.11 module 简明使用指南

栏目: Go · 发布时间: 7年前

内容简介:其它命令可以通过go help mod来查看。可以用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 GOPATH/pkg/mod 中,也会把 go install 的结果放在 $GOPATH/bin 中。Mod Cache 路径在GOPATH/pkg/mod/cache下面。

Go Mod 命令

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 (解释为什么需要依赖)

其它命令可以通过go help mod来查看。

设置 GO 111MODULE

可以用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。

  • GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
  • GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
  • GO111MODULE=auto 在 GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。

在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 GOPATH/pkg/mod 中,也会把 go install 的结果放在 $GOPATH/bin 中。Mod Cache 路径在GOPATH/pkg/mod/cache下面。

Go Mod 使用

创建 go.mod 文件

在一个新的项目中,需要执行go mod init 来初始化创建文件go.mod,go.mod 中会列出所有依赖包的路径和版本。

module github.com/my/thing

require (
    github.com/some/dependency v1.2.3
    github.com/another/dependency/v4 v4.0.0  // indirect
)
  • indirect 表示这个库是间接引用进来的。
  • go mod vendor 命令可以在项目中创建 vendor 文件夹将依赖包拷贝过来。
  • go mod download 命令用于将依赖包缓存到本地Cache起来。

显示所有Import库信息

go list -m -json all

  • -json JSON格式显示
  • all 显示全部库

常见问题

启用Go模块以后,使用go get xxx时会报错提示"go: cannot find main module; see 'go help modules'",因为没有找到go.mod文件,所以会报错。你只要在项目根目录下生成一个go.mod文件就可以了。

如何在Go模块里使用本地依赖包?首先在项目的go.mod文件的require处添加依赖包,然后在replace处添加替换本地依赖包(路径要处理妥当)。比如:

require (
    mytest v0.0.0
)
replace (
    mytest v0.0.0 => ../mytest
)

资料


以上所述就是小编给大家介绍的《Go1.11 module 简明使用指南》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

游戏引擎架构

游戏引擎架构

[美] Jason Gregory (杰森.格雷戈瑞) / 叶劲峰 / 电子工业出版社 / 2014-1 / 128.00元

《游戏引擎架构》同时涵盖游戏引擎软件开发的理论及实践,并对多方面的题目进行探讨。本书讨论到的概念及技巧实际应用于现实中的游戏工作室,如艺电及顽皮狗。虽然书中采用的例子通常依据一些专门的技术,但是讨论范围远超于某个引擎或API。文中的参考及引用也非常有用,可让读者继续深入游戏开发过程的任何特定方向。 《游戏引擎架构》为一个大学程度的游戏编程课程而编写,但也适合软件工程师、业余爱好者、自学游戏程......一起来看看 《游戏引擎架构》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试