运行'入门' Fabric Composer在创建composer archive时出错;缺少必需的选项

时间:2017-03-02 12:15:33

标签: hyperledger-composer

步骤顺序

  • npm install -g composer-cli
  • 克隆入门资源库,并发出npm install

输出了很多NPM错误,但其中一些是关键错误。

> composer archive create -m digitalproperty-network  --archiveFile digitalPropertyNetwork.bna && composer network deploy --archiveFile digitalPropertyNetwork.bna  --enrollId WebAppAdmin --enrollSecret DJY27pEnl16d && composer network list -n digitalproperty-network --enrollId WebAppAdmin --enrollSecret DJY27pEnl16d

composer archive create --archiveFile digitialPropertyNetwork.zip --sourceType module --sourceName digitalproperty-network

Options:
  --help             Show help  [boolean]
  -v, --version      Show version number  [boolean]
  --archiveFile, -a  Business network archive file name. Default is based on the Identifier of the BusinessNetwork  [string]
  --sourceType, -t   The type of the input containg the files used to create the archive [ module | dir ]  [required]
  --sourceName, -n   The Location to create the archive from e.g. NPM module directory or Name of the npm module to use  [required]

Missing required arguments: sourceType, sourceName

npm ERR! Linux 4.8.0-39-generic
npm ERR! argv "/home/matthew/.nvm/versions/node/v6.10.0/bin/node" "/home/matthew/.nvm/versions/node/v6.10.0/bin/npm" "run" "deployNetwork"
npm ERR! node v6.10.0
npm ERR! npm  v4.3.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! getting-started@1.0.0 deployNetwork: `composer archive create -m digitalproperty-network  --archiveFile digitalPropertyNetwork.bna && composer network deploy --archiveFile digitalPropertyNetwork.bna  --enrollId WebAppAdmin --enrollSecret DJY27pEnl16d && composer network list -n digitalproperty-network --enrollId WebAppAdmin --enrollSecret DJY27pEnl16d`
npm ERR! Exit status 1

机器干净,没有缓存。其他一些示例网络也出现了相同的错误?

1 个答案:

答案 0 :(得分:1)

发布npm install -g composer-cli时,它安装了v0.4.5或更高版本的命令行工具版本。例如composer --version输出。

$ composer --version
composer-cli                   v0.4.5
composer-admin                 v0.4.5
composer-client                v0.4.5
composer-common                v0.4.5
composer-runtime-hlf           v0.4.5
composer-connector-hlf         v0.4.5

composer archive create命令需要从模型文件,事务文件等构成业务网络存档。它可以通过两种方式实现此目的

  • 通过获取源目录
  • 采用模块名称

该命令的新语法是

composer archive create --archiveFile digitialPropertyNetwork.zip --sourceType module --sourceName digitalproperty-network

Options:
  --help             Show help  [boolean]
  -v, --version      Show version number  [boolean]
  --archiveFile, -a  Business network archive file name. Default is based on the Identifier of the BusinessNetwork  [string]
  --sourceType, -t   The type of the input containg the files used to create the archive [ module | dir ]  [required]
  --sourceName, -n   The Location to create the archive from e.g. NPM module directory or Name of the npm module to use  [required]

以前有一个--moduleName和一个--inputDir名称。

示例:

要从当前工作目录创建业务网络存档,以前使用--inputDir .新命令是:

composer archive create --sourceType dir --sourceName . --archiveFile digitialPropertyNetwork.bna

要创建业务网络存档,方法是指示包含业务网络的NPM模块将使用--moduleName digitalproperty-network新命令:

composer archive create --sourceType module --sourceName digitialproperty-network --archiveFile digitialPropertyNetwork.bna

在上述两种情况下,--archiveFile digitialPropertyNetwork.bna都是可选的。如果需要,将从业务网络的名称创建默认文件名。

为什么?

inputDir和moduleName选项是互斥的,内部代码设计对于处理错误情况并不具有弹性。选项的新方法简化了(并增加了代码的弹性)。

根据开发方法,可以以不同方式创建构成业务网络的工件。通过采用这种新的选项方式意味着我们不排除任何其他的“源类型”。在之前的模型中,我们不得不添加越来越多的命令行选项。