我正在尝试安装Chaincode,请遵循hyperledger教程。但是当我尝试运行命令
peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0
终端显示错误消息
错误:错误获取mycc的链代码部署规范:错误获取链代码程序包字节:无法计算依赖关系:不完整的程序包:github.com/hyperledger/fabric-chaincode-go/shim
我看到其他一些人也遇到了类似的问题,但是还没有答案。我不熟悉这些东西,因此任何建议都可能会有所帮助。
答案 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