Hyperledger Fabric 1.4.7 Golang链码安装运行GOPATH相关错误求助
问题原因
- 路径不匹配:Hyperledger Fabric 1.4版本安装Go链码时,默认会从
$GOPATH/src目录下查找指定的链码路径,你当前的链码存放在/home/user899/SoloNetwork/chaincode,不在$GOPATH/src的扫描范围内,所以触发路径不存在的报错。 - 依赖缺失:你本地Go环境没有安装链码依赖的
fabric-chaincode-go和fabric-protos-go包,直接运行链码文件时会触发包找不到的编译错误。
解决方案
步骤1:安装链码依赖
进入$GOPATH/src目录,下载对应兼容版本的依赖包:
cd $GOPATH/src go get -u github.com/hyperledger/fabric-chaincode-go/shim@v1.0.0 go get -u github.com/hyperledger/fabric-protos-go/peer@v1.0.0
执行完成后可以先运行go run chaincode.go验证依赖问题是否解决。
步骤2:对齐链码路径(两种方案二选一即可)
方案A:移动链码到GOPATH扫描目录
直接将链码目录移动到$GOPATH/src下:
mv /home/user899/SoloNetwork/chaincode $GOPATH/src/
方案B:创建软链接(无需修改原链码位置)
在$GOPATH/src下创建指向链码实际存储路径的软链接:
ln -s /home/user899/SoloNetwork/chaincode $GOPATH/src/chaincode
步骤3:重新执行链码安装
两种方案执行完成后,使用以下命令安装链码即可:
peer chaincode install -n mycc -v 1.0 -p chaincode
注意:如果是在Docker容器内执行链码安装命令,需要确认容器的卷挂载配置是否正确,确保容器内部的$GOPATH/src路径下可以访问到链码目录和依赖包
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

