Go modules replace解决Go依赖引用问题

 更新时间:2022年06月17日 10:49:03   作者:K8sCat  
这篇文章主要为大家介绍了Go modules replace解决Go依赖引用问题,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

为什么会用到 replace

取名是一个很有讲究的事情,但每个人都不一样。

  • 一开始,我写了一个 A 项目,代码仓名称为 project-alpha
  • 但 go.mod 里的 package 设置的是 github.com/k8scat/alpha,
  • 当在另一项目 B 中想要引用 A 项目的代码时,一般来说,用的是 github.com/k8scat/project-alpha
  • 因为 go get 会使用 git 去,但由于 package 和代码仓的名称不一样

需要使用 replace 进行转换一下:

package github.com/k8scat/beta
require github.com/k8scat/alpha v0.0.0
replace github.com/k8scat/alpha github.com/k8scat/project-alpha v1.0.0

使用 go mod edit 进行设置 replace:

go mod edit -replace github.com/k8scat/alpha=github.com/k8scat/project-alpha@v1.0.0

注意:该命令只会设置 replace,require 需要另外设置,且 require 的依赖版本被忽略,使用 replace 的依赖版本。

replace 的其他使用场景

解决 golang.org 依赖无法下载的问题

go mod edit -replace golang.org/x/crypto=github.com/golang/crypto@v0.0.0-20160511215533-1f3b11f56072

注意:这里目标依赖的版本号必须符合 SemVer 规范,不能是 master 和 latest(go get 可以用)

参考资料

以上就是Go modules replace解决Go依赖引用问题的详细内容,更多关于Go modules replace依赖引用的资料请关注脚本之家其它相关文章!

相关文章

  • Go语言通过反射实现获取各种类型变量的值

    Go语言通过反射实现获取各种类型变量的值

    反射是程序在运行期间获取变量的类型和值、或者执行变量的方法的能力,这篇文章主要为大家讲讲Go语言通过反射获取各种类型变量值的方法,需要的可以参考下
    2023-07-07
  • go语言中os包的用法实战大全

    go语言中os包的用法实战大全

    Go在os中提供了文件的基本操作,包括通常意义的打开、创建、读写等操作,除此以外为了追求便捷以及性能上,Go还在io/ioutil以及bufio提供一些其他函数供开发者使用,这篇文章主要给大家介绍了关于go语言中os包用法的相关资料,需要的朋友可以参考下
    2024-02-02
  • golang数组和切片作为参数和返回值的实现

    golang数组和切片作为参数和返回值的实现

    本文主要介绍了golang数组和切片作为参数和返回值的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 详解如何使用Golang扩展Envoy

    详解如何使用Golang扩展Envoy

    这篇文章主要为大家介绍了详解如何使用Golang扩展Envoy实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 浅谈Go数组比切片好在哪

    浅谈Go数组比切片好在哪

    Go1.17 会正式支持切片转换到数据,不再需要用以前那种骚办法了,本文就谈谈Go数组比切片好在哪,感兴趣的可以了解一下
    2021-09-09
  • Golang中的Interface详解

    Golang中的Interface详解

    本文详细讲解了Golang中的Interface,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Go中sync.Mutex 加锁失效的问题解决

    Go中sync.Mutex 加锁失效的问题解决

    sync.Mutex是Go标准库中常用的一个排外锁,本文主要介绍了Go中sync.Mutex 加锁失效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • docker中部署golang项目的步骤详解

    docker中部署golang项目的步骤详解

    这篇文章主要给大家介绍了关于在docker中部署golang项目的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • GoFrame框架Scan类型转换实例

    GoFrame框架Scan类型转换实例

    这篇文章主要为大家介绍了GoFrame框架Scan类型转换的实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 掌握Golang中的select语句实现并发编程

    掌握Golang中的select语句实现并发编程

    Golang中的select语句用于在多个通道间选择可读或可写的操作,并阻塞等待其中一个通道进行操作。可以用于实现超时控制、取消和中断操作等。同时,select语句支持default分支,用于在没有任何通道可操作时执行默认操作
    2023-04-04

最新评论