gomodule使用本地包的方法示例

go module的使用非常简单

成都创新互联公司客户idc服务中心,提供绵阳服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。

初始化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.com/gin-gonic/gin v1.3.0
  github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336
  github.com/golang/protobuf v1.3.1 // indirect
  github.com/gomodule/redigo v2.0.0+incompatible
  github.com/mattn/go-sqlite3 v1.10.0
  github.com/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.com/gin-gonic/gin v1.3.0
  github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336
  github.com/golang/protobuf v1.3.1 // indirect
  github.com/gomodule/redigo v2.0.0+incompatible
  github.com/mattn/go-sqlite3 v1.10.0
  github.com/stretchr/testify v1.3.0 // indirect
  golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect
)

replace github.com/gohouse/goroom => /path/to/go/src/github.com/gohouse/goroom

这里的 path/to/go/src/github.com/gohouse/goroom 是本地的包路径

这样, 我们就可以愉快的使用本地目录了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


标题名称:gomodule使用本地包的方法示例
网站路径:http://hbruida.cn/article/ggojcg.html