go module使用本地包的方法示例

 更新时间:2019-06-25 03:03:07   作者:佚名   我要评论(0)

go module的使用非常简单
初始化go.mod


go mod init

整理依赖包


go mod tidy


如果想缓存到vendor目录


go mod vendor

执行命令之后都会自动把依赖搞

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.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 是本地的包路径

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

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

您可能感兴趣的文章:

  • golang中range在slice和map遍历中的注意事项
  • Golang捕获panic堆栈信息的讲解
  • go语言的panic和recover函数用法实例
  • 使用go来操作redis的方法示例
  • golang读取文件的常用方法总结
  • 使用go xorm来操作mysql的方法实例
  • golang time包的用法详解
  • golang时间、时区、格式的使用方法
  • Go JSON编码与解码的实现
  • go各种import的使用方法讲解

相关文章

  • go module使用本地包的方法示例

    go module使用本地包的方法示例

    go module的使用非常简单 初始化go.mod go mod init 整理依赖包 go mod tidy 如果想缓存到vendor目录 go mod vendor 执行命令之后都会自动把依赖搞
    2019-06-25
  • Go JSON编码与解码的实现

    Go JSON编码与解码的实现

    在开发应用程序时,客户端(前端页面或APP)与服务端交互是在所难免的,在交互过程传递数据时,最通用和流行格式便是JSON,Go语言提供了encoding/json包,用于处
    2019-06-25
  • 浅析Linux常用文件管理命令

    浅析Linux常用文件管理命令

    一、文件管理基本命令 1、pwd pwd显示当前的工作目录(显示当前shell CWD的绝对路径) 用法:pwd [option] 选项: -P 显示真实物理路
    2019-06-25
  • linux命令查看磁盘空间的方法

    linux命令查看磁盘空间的方法

    今天用“web发布平台”发布测试的服务,两个节点中发现有一个节点没有发布成功,压测TPS始终上不去,排查后发现只有一个节点在打日志,另一个节点的服务进程都
    2019-06-25
  • Golang命令行进行debug调试操作

    Golang命令行进行debug调试操作

    GoLang调试工具Delve 1.先获取呗: go get -u github.com/derekparker/delve/cmd/dlv 2.编写测试代码呗: func main(){ http.HandleFunc("/test",func(wr
    2019-06-25
  • golang时间、时区、格式的使用方法

    golang时间、时区、格式的使用方法

    前几天,因为需要实现海外服务端定时停机,涉及到时区的概念。网上搜索了一下,大部分都是谈time.Format中的Layout,非常不成体系,这里就简单总结一下其中的
    2019-06-25
  • Go语言init函数详解

    Go语言init函数详解

    Go init函数详解 init()函数会在每个包完成初始化后自动执行,并且执行优先级比main函数高。init 函数通常被用来: 对变量进行初始化 检查/修复程序的状
    2019-06-25
  • golang time包的用法详解

    golang time包的用法详解

    在我们编程过程中,经常会用到与时间相关的各种务需求,下面来介绍 golang 中有关时间的一些基本用法,我们从 time 的几种 type 来开始介绍。 时间可分为时间点
    2019-06-25
  • 使用go xorm来操作mysql的方法实例

    使用go xorm来操作mysql的方法实例

    在golang中要实现对数据库的操作, 一个比较好用的方式就是使用XORM,xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便。 在xorm里面,可
    2019-06-25
  • 在go中使用omitempty的代码实例

    在go中使用omitempty的代码实例

    omitempty在go中的使用 直接上代码: package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` Age int
    2019-06-25

最新评论