git - Go mod 用私有分支替换依赖
问题描述
我将依赖项添加到go.mod
:
require (
github.com/labstack/echo/v4 v4.3.1
)
replace (
github.com/labstack/echo/v4 => example.com/echo/v4.git v4.3.1
)
并得到类似的错误replace example.com/echo.git: version "v4.3.1" invalid: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v4
。具有所需版本的标签存在于 repo 中。
虽然我尝试使用我得到的版本v1.2.1-0.20210520145606-2defe74d39f0
,但是当我设置我的替换部分时:
replace (
github.com/labstack/echo/v4 => example.com/echo/v4.git v1.2.1-0.20210520145606-2defe74d39f0
)
我收到errno=Connection refused
与私有 git 服务器相关的错误。
您能否告知我做错了什么以及如何用我的私人分叉替换依赖项?
解决方案
确保您的回购路径是准确的。v4.git 表示 repo 被称为 v4;如果这是真的,那没关系,但如果不是用正确的 repo 名称替换它,并在其后保留 v4.xx 标记。
如果分叉是私有的,那么 sum.golang.org 可能无法访问它。确保将 GOPRIVATE 设置为您的私有分支,以便 Go 不会尝试获取校验和。
go env -w GOPRIVATE=example.com
推荐阅读
- c# - MongoDB 集合设计以链接记录
- c++ - 为什么需要,在二叉树中添加一个节点需要一个参数;在链表中添加节点需要两个参数吗?(C++)
- mongodb - JOI 或 express-validator 与 Mongodb 验证
- google-docs-api - 如何向我的 gmail 帐户授予对 bot 的访问权限
- php - 防止使用多循环/ PHP的替代方法
- javascript - 使用变量在输入数组之间切换
- c# - WPF 中的 DataGrid 数据绑定和 MVVM
- codeigniter - 无法使用 codeigniter 发送 smtp 电子邮件
- reactjs - Heroku :deply 没有在反应中使用代理
- javascript - 多个单独的浏览器,每个浏览器都有一个选项卡 - 与页面上的元素同时交互(木偶无头)