我使用Ubuntu 16.04.2 LTS作为VM,使用作曲家v0.19.1。我已经通过hyperledger composer playgroung处的文档安装了所有先决条件以及超级编组器和结构。我已逐行遵循教程来建立业务网络。当我想通过以下命令安装业务网络时:
composer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna
它给了我以下错误:
未提供连接类型,可能是因为连接配置文件没有定义“x-type”属性。
还提供了错误的屏幕截图。
我检查并确保PeerAdminCard存在于
composer card list
当然,Fabric已经开始了。如果有人提到我做错了什么,我非常感激。谢谢。
答案 0 :(得分:3)
您遇到的第二个问题是使用createPeerAdminCard.sh脚本 - 您使用的是旧版本的'默认为Fabric v1.0的版本。
默认设置为假设hlfv1,因为未设置环境变量FABRIC_VERSION。因此,createPeerAdminCard.sh脚本假定您需要hlfv1卡并创建文件,但Composer v0.19无法在脚本末尾导入该旧卡。
快速解决方案是export FABRIC_VERSION="hlfv11"
然后运行createPeerAdminCard.sh
我怀疑您使用Fabric时hlfv1 / v11也可能有问题。您可以通过运行docker ps
或docker images
来检查Fabric版本 - 如果它们最后需要删除1.0,则在同一窗口中运行downloadFabric.sh 您导出了FABRIC_VERSION变量,然后运行startFabric.sh
每次运行其中一个Fabric Tools脚本时,您需要记住导出该环境变量 - 所以更好的答案可能是删除Fabric Tools文件夹和所有docker Images和Containers - 然后下载新版本的Fabric工具,包括Fabric 1.0的新默认值
答案 1 :(得分:1)
我得到了与你完全相同的错误。如果您从0.16或更早版本更新Composer,则卡存储仍然具有旧的PeerAdmin卡,现在 不 与版本0.19兼容。即使使用composer card delete --card <CARD_NAME_HERE>
删除卡也无效。快速而肮脏的解决方案是手动删除卡存储。它通常在$ {HOME} /。composer中,因此删除此目录应该有效。
rm -fr ${HOME}/.composer
对于您的其他问题,最简单的解决方案是更换旧版本的Hyperledger并从头开始进行新安装。这意味着删除作曲家以及杀死和删除所有以前的Docker容器:
docker kill $(docker ps -q)
docker rm $(docker ps -aq)
docker rmi $(docker images dev-* -q)
如果可以,基本上从干净的石板开始!
答案 2 :(得分:0)
将composer modules
从早期版本升级到最新版本时,连接配置文件将与系统不兼容。理想的解决方案是删除和删除composer文件夹,并从主目录创建.composer
文件夹,然后再次尝试创建PeerAdmin卡。完成后,您最好安装启动新业务网络应用程序。