go module的使用非常简单
初始化go.mod
go mod init
整理依赖包
go mod tidy
如果想缓存到vendor目录
go mod vendor
执行命令之后都会自动把依赖搞定.
但是, 如果我们是本地开发的包, 还没有远程仓库的时候, 要怎么解决本地包依赖问题呢?
使用replace将远程包替换为本地包服务
幸运的是, go module 提供了另外一个方案, replace, 这个replace怎么使用的呢?
我们先看一下一个最基本的mod文件
module GoRoomDemo go 1.12 require ( github测试数据/gin-gonic/gin v1.3.0 github测试数据/gohouse/goroom v0.0.0-20190327052827-9ab674039336 github测试数据/golang/protobuf v1.3.1 // indirect github测试数据/gomodule/redigo v2.0.0+incompatible github测试数据/mattn/go-sqlite3 v1.10.0 github测试数据/stretchr/testify v1.3.0 // indirect golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect )
?这是一个简单的GoRoom框架的依赖关系包, 如果我想使用本地的goroom, 只需要使用replace即可
module GoRoomDemo go 1.12 require ( github测试数据/gin-gonic/gin v1.3.0 github测试数据/gohouse/goroom v0.0.0-20190327052827-9ab674039336 github测试数据/golang/protobuf v1.3.1 // indirect github测试数据/gomodule/redigo v2.0.0+incompatible github测试数据/mattn/go-sqlite3 v1.10.0 github测试数据/stretchr/testify v1.3.0 // indirect golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect ) replace github测试数据/gohouse/goroom => /path/to/go/src/github测试数据/gohouse/goroom
这里的 path/to/go/src/github测试数据/gohouse/goroom 是本地的包路径
这样, 我们就可以愉快的使用本地目录了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
查看更多关于go module使用本地包的方法示例的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did19045