Fabric Go链码安装错误:错误:获取链码字节时出错:'go list'

时间:2020-08-08 03:03:21

标签: docker go hyperledger-fabric

嗨,我正在尝试将golang链代码安装在对等Docker容器中,并且我收到以下错误。该安装可以与nodeJs链代码一起正常工作。

volumes:
  - ./msps/peer4.org1/msp:/etc/hyperledger/fabric/msp
  - ../go-chaincode/dataCC:/opt/gopath/src/github.com/org1/dataCC
  - ./peer4:/opt/gopath/src/github.com/hyperledger/fabric/peer/files
  -  peer4.org1.com:/var/hyperledger/production

go-chaincode / dataCC 目录中包含链码的go模块。

命令

peer lifecycle chaincode package $DATA_CHAINCODETAR_FILE --path $CORE_PEER_CHAINCODE_ID_PATH --lang golang --label datacc_1

日志

2020-08-08 02:54:16.263 UTC [bccsp] GetDefault -> DEBU 002 Before using BCCSP, please call InitFactories(). Falling back to bootBCCSP.
2020-08-08 02:54:16.270 UTC [main] InitCmd -> DEBU 003 peer lifecycle chaincode package does not need to init crypto

错误:

获取链码字节出错:'go list'失败:exec:“ go”:在$ PATH中找不到可执行文件

码头集装箱

/opt/gopath/src/github.com/hyperledger/fabric/peer # go list
sh: go: not found

感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

我试图复制该问题,并能够成功安装和实例化chaincode。现在,这可能不是解决此问题的最佳方法,但它肯定对我有用。

  • 根据容器的操作系统,使用命令docker exec -it container_name bashbash / sh进入对等/ cli容器。

  • here安装go二进制文件,然后按照所有安装说明进行操作。请按照所附链接中的示例,确保检查go是否已安装。

  • 运行mkdir -p /root/go/src并将您的chaincode文件夹复制到该目录中。

  • 安装/打包/实例化您的链码。

在安装/打包链码之前,请确保将环境变量CORE_PEER_MSPCONFIGPATH设置为管理员的msp目录。默认路径为CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp

尝试这种方法,看看它是否对您有用。

每当我找到有用或更好的解决方案时,我都会更新此答案。