Hyperledger fabric 在Hyperledger Fabric 2.0文档中执行部署脚本后,链码未在测试网络上部署

Hyperledger fabric 在Hyperledger Fabric 2.0文档中执行部署脚本后,链码未在测试网络上部署,hyperledger-fabric,hyperledger-chaincode,Hyperledger Fabric,Hyperledger Chaincode,我运行了脚本/network.sh deployCC,然后它无法在网络上部署它(Fabric 2.0),这是错误: deploying chaincode on channel 'mychannel' Vendoring Go dependencies ... ~/Desktop/Fabric/fabric-samples/chaincode/fabcar/go ~/Desktop/Fabric/fabric-samples/test-network go: unknown subcomma

我运行了脚本
/network.sh deployCC
,然后它无法在网络上部署它(Fabric 2.0),这是错误:

deploying chaincode on channel 'mychannel'

Vendoring Go dependencies ...
~/Desktop/Fabric/fabric-samples/chaincode/fabcar/go 
~/Desktop/Fabric/fabric-samples/test-network
go: unknown subcommand "mod"
Run 'go help' for usage.
~/Desktop/Fabric/fabric-samples/test-network
Finished vendoring Go dependencies
Using organization 1
++ peer lifecycle chaincode package fabcar.tar.gz --path 
../chaincode/fabcar/go/ --lang golang --label fabcar_1
++ res=1
++ set +x
Error: error getting chaincode bytes: listing deps for pacakge 
../chaincode/fabcar/go/ failed: exit status 2
!!!!!!!!!!!!!!! Chaincode packaging on peer0.org1 has failed 
!!!!!!!!!!!!!!!!

ERROR !!! Deploying chaincode failed

问题在于您安装的Go软件包。您安装了哪个版本? 安装最新Go的理想方法是从这里开始

如果您使用的ubuntu与apt安装不符

首先移除apt安装的go

  • $sudo apt get remove go
  • 从站点下载linux的tar文件 450

  • 执行命令$sudotar-C/usr/local-xzf


    • 我同意,这看起来像是Go版本的问题。Fabric 2.0具有

      在1.11之前,Go没有mod命令(我想)。因此,如果您安装了Go版本1.13,可能您没有删除旧版本,它仍然指向Go的旧版本

      做一个

      对等版本

      在运行./network.sh deployCC命令的同一终端中,检查正在使用的Golang版本。如果您确实看到1.10正在使用,那么您需要升级Golang

      请参阅的安装说明
      并遵循旧版本的卸载步骤和新版本的安装步骤,同时确保您拥有上一个答案所建议的

      :上一个go lang版本会导致此问题

      因此,首先删除上一个go:(建议答案不会删除go,所以我在这里添加了它)

    • sudo apt get remove golang go
    • sudo apt get remove——自动删除golang go
    • sudo-apt-get-purge-golang-go

    • 下载最新的go并将go/bin路径添加到环境变量

      我从网站本身下载了go,并遵循了他们文档中的过程,这与您上面提到的过程类似。Go版本是1.13.8,我已经下载了1.10.x,现在正在使用。我不能使用新的1.13.8