我试图在对等 docker 容器中安装 golang 链代码,但出现以下错误。安装与 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错误:error getting chaincode bytes: 'go list' failed: exec: "go": executable file not found in $PATH码头集装箱/opt/gopath/src/github.com/hyperledger/fabric/peer # go listsh: go: not found
2 回答

ABOUTYOU
TA贡献1812条经验 获得超5个赞
我尝试复制该问题,并能够成功安装和实例化链代码。现在,这可能不是解决这个问题的最佳方法,但它确实对我有用。
docker exec -it container_name bash
使用命令(bash
/sh
根据容器的操作系统)进入 peer/cli 容器。从此处安装 go 二进制文件并按照所有安装说明进行操作。确保
go
按照附加链接中的示例安装检查。mkdir -p /root/go/src
在此目录中运行并复制您的链代码文件夹。安装/打包/实例化你的链码。
在安装/打包链代码之前,请确保将环境变量设置CORE_PEER_MSPCONFIGPATH
为管理员的msp
目录。默认路径是CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp
.
试试这个方法,看看它是否适合你。
每当我发现有用的东西或更好的解决方案时,我都会更新这个答案。

喵喔喔
TA贡献1735条经验 获得超5个赞
执行以下命令,然后重试部署链代码:
$go env GOPROXY= $go env GO111MODULE=on
如果上面的命令不能正常运行,那么执行下面的命令。
$ export GO111MODULE=on $ export GOPROXY=https://goproxy.cn
供参考: https ://goproxy.cn/
- 2 回答
- 0 关注
- 586 浏览
添加回答
举报
0/150
提交
取消