Hyperledger Fabric测试网络启动链码报错求助
解决Hyperledger Fabric链码启动报错的思路
1. 修复Go依赖的Vendoring不一致问题
不要手动修改vendor/modules.txt,Go的依赖vendoring需通过官方命令维护,执行以下步骤:
- 进入链码目录:
cd /home/blamazales/fabric-samples/asset-transfer-basic/chaincode-go - 清理现有vendor目录:
rm -rf vendor - 重新生成匹配go.mod的vendor文件:
go mod vendor
该命令会自动同步go.mod中的依赖,生成正确的vendor目录和modules.txt,彻底解决依赖标记不一致的问题。 - 验证修复结果:执行
go list -m all,无报错则说明依赖问题已解决。
2. 重新打包链码,解决basic.tar.gz不存在的问题
依赖修复后,重新执行链码打包操作,确保生成正确的包文件:
- 回到测试网络工作目录,执行官方教程的打包命令(注意检查路径是否正确):
peer lifecycle chaincode package basic.tar.gz --path ../asset-transfer-basic/chaincode-go/ --lang golang --label basic_1.0 - 打包完成后,检查当前目录是否生成目标文件:
ls -l basic.tar.gz,确认文件存在后,再继续链码安装、批准等后续步骤。
额外检查项
- 确认Go环境变量配置正常,执行
go env查看,确保GO111MODULE=on(当前使用go mod管理依赖)。 - 确保当前用户对
fabric-samples目录拥有读写权限,避免因权限不足导致无法生成打包文件。
内容的提问来源于stack exchange,提问作者Bárbara Moraes
相关产品推荐
相关产品推荐

