安装Chaincode时发生错误-无法计算依赖关系:包不完整

时间:2020-02-19 03:31:32

标签: hyperledger-fabric hyperledger-chaincode

我正在尝试安装Chaincode,请遵循hyperledger教程。但是当我尝试运行命令

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0

终端显示错误消息

错误:错误获取mycc的链代码部署规范:错误获取链代码程序包字节:无法计算依赖关系:不完整的程序包:github.com/hyperledger/fabric-chaincode-go/shim

我看到其他一些人也遇到了类似的问题,但是还没有答案。我不熟悉这些东西,因此任何建议都可能会有所帮助。

4 个答案:

答案 0 :(得分:2)

我今天解决了:

登录到CLI contaier后,执行以下命令(导入shim软件包)。这会将包导入到cli容器中,在该容器中将编译链码。

去获取github.com/hyperledger/fabric-chaincode-go/shim

然后执行

对等链码安装-p chaincodedev / chaincode / sacc -n mycc -v 0

会很高兴的。

答案 1 :(得分:0)

您没有说您使用的是哪个版本的Fabric和示例,但这看起来像是对Fabric 2.0所做的更改,并在release notes中进行了描述:“ go链码的shim软件包和依赖项不是不再包含 链码构建环境。”

相关的Jira entry.

中有更多详细信息

答案 2 :(得分:0)

尝试将填充程序包下载到GOPATH

去获取github.com/hyperledger/fabric-chaincode-go/shim

这会将shim软件包下载到GOPATH中的/src/github.com/hyperledger/fabric-chaincode-go/shim中。然后在您的chaincode中的import内部提供此shim软件包的路径。

应如下所示:

导入( “ github.com/hyperledger/fabric-chaincode-go/shim” )

答案 3 :(得分:0)

就我而言,原因是路径错误。 CLI容器工作目录已包含HINSTANCE dllGetproc = LoadLibrary((LPCSTR)"C:\\Proj\\dev\\Soft\\Soft.FXX.dll"); if (!dllGetproc ) { Format(var,"Could not load the dynamic library error = %d", GetLastError()); Log(var); } else { Log("Loaded successfully."); } 路径的一部分

chaincodedev

您可以执行以下操作来验证您的情况是否正确

cli:
    ...
    working_dir: /opt/gopath/src/chaincodedev

您必须看到docker exec -it cli bash pwd

所以我要做的就是从命令路径中删除/opt/gopath/src/chaincodedev

chaincodedev