【发布时间】:2021-06-29 09:50:15
【问题描述】:
我将依赖添加到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 这样的错误。存储库中存在具有所需版本的标签。
虽然我尝试使用类似 v1.2.1-0.20210520145606-2defe74d39f0 的版本,但是当我将替换部分设置为:
replace (
github.com/labstack/echo/v4 => example.com/echo/v4.git v1.2.1-0.20210520145606-2defe74d39f0
)
我收到与私有 git 服务器相关的错误 errno=Connection refused。
您能否告知我做错了什么以及如何用我的私人分叉替换依赖项?
【问题讨论】:
-
我认为你不需要指定
.git -
@Matteo without
.git我也得到一个错误:version "v4.3.1" invalid: unknown revision echo/v4.3.1 -
你的仓库名称实际上是
v4.git吗?导入路径的v4部分只是原始repo中的一个标签,它不对应实际的路径或repo名称。 -
@JimB 这也是我困惑的地方。如果我将
replace部分更改为github.com/labstack/echo => bucket.digitalarsenal.net/elpaso/backend/libs/echo v4.3.1,它也无济于事。replace example.com/echo: version "v4.3.1" invalid: unknown revision libs/echo/v4.3.1。但是这个版本的标签是存在的。 -
@Ole 我猜这个错误实际上来自 sum.golang.org。我已经留下了这个效果的答案,但如果没有,请 edit 提供运行
go get的完整输出。
标签: git go go-modules