意外令牌 (6:6)

Unexpected token (6:6)

我正在尝试生成业务网络存档,但在 运行 composer archive create -t dir -n .

时出现以下错误
Creating Business Network Archive
Looking for package.json of Business Network Definition

SyntaxError: Failed to parse /Users/xxxx@xxxx.com/fabric-tools/tutorial-network/lib/logic.js: Unexpected token (6:6)

Command failed

意外令牌 (6:6)? logic.js 的内容如下:

cat lib/logic.js
/**
* Track the trade of a commodity from one trader to another
* @param {org.acme.mynetwork.Trade} trade - the trade to be processed
* @transaction
*/
async function tradeCommodity(trade) {
    trade.commodity.owner = trade.newOwner;
    let assetRegistry = await getAssetRegistry('org.acme.mynetwork.Commodity');
    await assetRegistry.update(trade.commodity);
}

composer v0.16.x 中,不支持 asyncES6 关键字。它有一个问题。您可以查看 here。如果您想使用这些关键字,您需要将 composer 升级到 v0.17.4 或更高版本。

我在 Hyperledger 社区支持上得到了这个问题的答案,这也正是 @mohammadjh 在这里提到的。我最初使用的作曲家版本已经过时,获得最新版本解决了这个问题。以下是获取最新版本的方法: npm install -g composer-cli