我运行了脚本./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,所以我在这里添加了它(
sudo apt-get remove golang-go
sudo apt-get remove --auto-remove golang-go
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 设置了路径变量