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



我运行了脚本./network.sh deployCC,但它无法在网络上部署(结构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文件https://golang.org/dl/450

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

正如前面的答案所示:以前的go lang版本导致了这个问题

所以首先删除之前的go:(建议的答案没有删除go,所以我在这里添加了它(

  1. sudo apt-get remove golang-go
  2. sudo apt-get remove --auto-remove golang-go
  3. sudo apt-get purge golang-go

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

我同意,这看起来像是Go版本的问题。Fabric 2.0具有Go 1.13版的先决条件

1.11之前Go没有mod命令(我认为(。所以,如果你安装了Go 1.13版本,也许你没有删除旧版本,它仍然指向旧版本的Go。

进行

对等版本

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

请参阅上的安装说明https://golang.org/doc/install按照旧版本的卸载步骤和新版本的安装步骤进行,并确保为Fabric 设置了路径变量

相关内容

最新更新