我正在尝试使用linux VM中的以下命令下载fabric-sdk-go
库及其所有依赖项。
go get -u github.com/hyperledger/fabric-sdk-go/...
出现以下错误。
# github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/core/operations
../github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/core/operations/system.go:227:23: not enough arguments in call to s.statsd.SendLoop
have (<-chan time.Time, string, string)
want (context.Context, <-chan time.Time, string, string)
# github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util
../github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util/csp.go:47:8: cannot convert nil to type csr.KeyRequest
../github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util/csp.go:132:37: cannot use req.KeyRequest (type *csr.KeyRequest) as type csr.KeyRequest in argument to getBCCSPKeyOpts
这可能是由于go
版本不匹配或其他原因造成的吗?这是我在Linux VM中使用的go version
。
go version go1.12.8 linux/amd64
答案 0 :(得分:0)
如果模块未打开,go get
将获取某些依赖项的错误版本。以及大多数其他依赖工具。
第一个错误# github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/core/operations
是由于v0.8.0和v0.9.0之间的go-kit差异。
第二个错误# github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util
是由于cfssl版本比支持的版本新。
sdk没有实际的二进制输出,因此无论如何我们都不应该go get
对其进行设置。