我正在尝试通过 go mod 下载项目的所有依赖项;当在 CLI 上执行 go modvendor
时,就会出现问题。输出结果如下:
go: finding github.com/hyperledger/fabric-sdk-go v0.0.0-00010101000000-000000000000
go: github.com/hyperledger/fabric-sdk-go@v0.0.0-00010101000000-000000000000: unknown revision 000000000000
go: error loading module requirements
导入库的代码是这样的:
import (
"github.com/hyperledger/fabric-sdk-go/pkg/client/ledger"
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
)
krakengosdk 是我正在处理的包的名称:
go mod init krakengosdk
有什么解决办法吗?我一段时间以来一直在寻找任何解决方案,但没有找到任何有用的东西。
编辑:我已将 go 版本更新为 1.13;似乎错误必须与“github.com/hyperledger/fabric-sdk-go/test/integration@v0.0.0-20190918153951-5d7ae7a5be8f”有关:
go get -v github.com/hyperledger/fabric-sdk-go/test/integration@latest
go: finding github.com/hyperledger/fabric-sdk-go/test/integration latest
go get: github.com/hyperledger/fabric-sdk-go/test/integration@v0.0.0-20190918153951-5d7ae7a5be8f requires
github.com/hyperledger/fabric-sdk-go@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000
最佳答案
问题:
- 您的 go.mod 文件具体是什么?
- 你有
replace
吗?github.com/hyperledger/fabric-sdk-go
的指令? - 如果您目前没有,您曾经有过吗?
那个长版本v0.0.0-00010101000000-000000000000
如果您有 replace
,通常会显示此内容指令但没有相应的 require
指令和 go
命令自动添加 require
为您提供使用该长版本的指令。
这可能没问题,但我想知道您是否做了类似添加 replace
的操作,但后来删除了 replace
同时保留长版本v0.0.0-00010101000000-000000000000
在 require
。或者类似的东西。
如果您发生以下情况会发生什么:
- 删除任何
replace
github.com/hyperledger/fabric-sdk-go
的指令你可能有 - 更改
require
对于github.com/hyperledger/fabric-sdk-go
成为:
require github.com/hyperledger/fabric-sdk-go latest
- 运行
go list -m all
此外,如果还没有,您应该使用最新版本的 Go 1.13,它修复了一些错误,但通常也有更好的错误消息。
关于go mod 找不到依赖项的版本 v0.0.0-00010101000000-000000000000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58012771/