我正在尝试通过go下载项目的所有依赖项;当在CLI上执行go mod vendor
时会出现问题。产出如下:
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
发布于 2019-09-19 18:24:03
拟议诊断
我建议在控制台(bash/dash/fish/zsh)中尝试这些命令:
# 1. Create clean project
$ mkdir /tmp/checkmods && cd /tmp/checkmods # create clean directory
$ export GO111MODULES=on
$ go version # check that version 1.13
$ go mod init main # name of package does not matter here
# 2. Install packages, check output
$ go get -v github.com/hyperledger/fabric-sdk-go/pkg/client/ledger
$ go get -v github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt
$ go get -v github.com/hyperledger/fabric-sdk-go/pkg/fabsdk
# 3. Create main.go
$ touch main.go
$ # edit main.go, add imported packages, import something from those packages
$ go mod vendor
# Do you have problems here?
# if you encounter problems:
# - play around with `go mod tidy`
# - look at `go.mod` and `go.sum`
# - `go mod graph/verify/why` - are your friends
main.go
实例
package main
import (
"fmt"
"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"
)
func main() {
var (
cln &ledger.Client
rsm &resmgmt.Client
fbs &fabsdk.FabricSDK
)
fmt.Printf("%T %T %T\n", cln, rsm, fbs)
}
分析
如果你遇到问题:解释你在哪一行遇到的问题,什么样的问题。
如果所有事情都可以用干净的开始:看看你的项目和干净的开始之间有什么不同( go.sum和go.mod的区别)
祝好运!
发布于 2019-09-19 17:31:21
问题:
replace
指令吗?如果您有一个v0.0.0-00010101000000-000000000000
指令,但是没有对应的require
指令,那么这个长版本的require
通常会显示出来,而go
命令会自动为您添加一个使用该长版本的require
指令。
这可以很好,但我想知道您是否做了一些类似于添加replace
之类的操作,但随后在将长版本v0.0.0-00010101000000-000000000000
留在require
中时删除了require
。或者类似的东西。
如果你:
github.com/hyperledger/fabric-sdk-go
的require
更改为:G 228
的对github.com/hyperledger/fabric-sdk-go
的任何replace
指令
require github.com/hyperledger/fabric-sdk-go latest
运行go list -m all
的
此外,如果还没有,那么您应该使用Go 1.13的最新版本,它修复了一些but,但通常也有更好的错误消息。
发布于 2021-05-19 08:12:39
这种情况发生在我身上,因为我使用了替换标志并删除了替换标志。这可以通过使用以下两个命令来纠正。
go mod edit -droprequire=github.com/hyperledger/fabric-sdk-go
上面的命令删除了依赖项
go mod tidy
上面的命令重新下载依赖项。
https://stackoverflow.com/questions/58012771
复制相似问题