启动容器时出错:无法生成特定于平台的docker build:从build返回的错误:1"无法加载package:package ../../bin/github.com/hyperledger/fabric/chaincode/marbles:打开 /bin/github.com/hyperledger/fabric/chaincode/marbles:没有这样的文件或 。目录
我看到它正在寻找一个相对目录。相对于什么? chaincode安装很好。如果安装了链代码,为什么找不到实例化的代码呢? 1同行。 1个独奏订货人。渠道很好。
答案 0 :(得分:4)
Chaincode安装并不意味着您已正确映射了您的链代码路径,
peer chaincode install -p {path} -n {} -v {}
Chaincode实例化构建并实例化您的链代码。
peer chaincode instantiate -n {} -v {} -c {} -C {}
答案 1 :(得分:2)
有一个"隐藏"路径映射中的期望。它期望在gopath下有一个/ src目录,直到我弄清楚它才会给我带来麻烦。
这是我的解决方案fwiw:
在为对等体编写yaml时,您将设置env变量:
- GOPATH=/opt/gopath
然后在CLI中,您可以安装并实例化:
SIGNED_CHAINCODE_LOCATION=/opt/gopath/src/chaincode/<cc_dir>/<signed_cc>.out
peer chaincode install /${SIGNED_CHAINCODE_LOCATION}
正常实例化。 如果您不需要打包和签名,只需使用目录而不是.out文件。
在我的情况下,我在对等体中添加了一个工作目录,它将链代码设置为我的基本区块链目录的相对目录:- ./chaincode/:/opt/gopath/src/chaincode/
并将go文件夹转储到那里。