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