fabric make error etcd:不包含包go.etcd.io/etcd/etcdserver/api/sn



我发现我们中的一些人在区块链项目中工作-hyperledger/fabric在具有**go mod**(GO111MODULE='on'(的本地机器中有类似的命令**make**错误:

build command-line-arguments: cannot load go.etcd.io/etcd/etcdserver/api/snap: module go.etcd.io/etcd@latest found (v3.3.18+incompatible), but does not contain package go.etcd.io/etcd/etcdserver/api/snap

答案如下。

这将解决上面的错误,但只有在打开go mod(即envGO111MODULE='on'(时才有效。

因此,在go mod打开的情况下,您将需要在hyperledger/fabric目录中运行命令:

go mod init github.com/hyperledger/fabric 
go mod tidy

然后,如果运行make,错误将在终端上显示出来。

现在,您需要用以下替换项修改fabric/go.mod文件:

# replace this :
go.etcd.io/etcd v3.3.18+incompatible
# to :
go.etcd.io/etcd v0.5.0-alpha.5.0.20181228115726-23731bf9ba55

然后运行

go mod tidy
go mod vendor
make clean
make

现在应该没事了。

希望这能为你节省一个小时左右。

最新更新