Connection fails: Error: Failed to load connector module "composer-connector-undefined" for connection type "undefined"

Connection fails: Error: Failed to load connector module "composer-connector-undefined" for connection type "undefined"

我正在尝试在 composer 的预发布版本 - 0.17.1 上设置持久性 REST 服务器。但是,当我查看 REST 服务器的 docker 日志时,出现以下错误:

Connection fails: Error: Failed to load connector module "composer-connector-undefined" for connection type "undefined".

我认为这是一个环境依赖性问题。我使用以下命令将我的环境更新到 v0.17.1 版本:

npm install -g composer-cli@next

npm install -g composer-rest-server@next

npm install -g generator-hyperledger-composer@next

或者我的 package.json 文件有问题。我一直在寻找一个示例 package.json 文件来与预发布版本一起使用,但一直找不到。

我的 package.json 文件:

    {
  "engines": {
    "composer": "^0.17.1"
  },
  "name": "block-network",
  "version": "0.0.1",
  "description": "Business Network",
  "scripts": {
    "pretest": "npm run lint",
    "lint": "eslint .",
    "postlicchk": "npm run doc",
    "doc": "jsdoc --pedantic --recurse -c jsdoc.json",
    "test": "mocha -t 0 --recursive",
    "deploy": "./scripts/deploy.sh"
  },
  "author": "Simon Mullaney",
  "email": "",
  "license": "Apache-2.0",
  "devDependencies": {
    "browserfs": "^1.2.0",
    "chai": "latest",
    "composer-common": "^0.17.1",
    "composer-playground-api": "^0.17.1",
    "composer-admin": "^0.17.1",
    "composer-client": "^0.17.1",
    "composer-connector-embedded": "^0.17.1",
    "composer-connector-hlfv1": "^0.17.1",
    "composer-connector-proxy": "^0.17.1",
    "composer-connector-server": "^0.17.1",
    "composer-runtime-embedded": "^0.17.1",
    "composer-connector-web": "^0.17.1",
    "composer-runtime": "^0.17.1",
    "composer-runtime-web": "^0.17.1",
    "eslint": "latest",
    "istanbul": "latest",
    "jsdoc": "latest",
    "mkdirp": "latest",
    "mocha": "latest",
    "moment": "latest",
    "sinon": "latest"
  },
  "license-check-config": {
    "src": [
      "**/*.js",
      "!./coverage/**/*",
      "!./node_modules/**/*",
      "!./out/**/*",
      "!./scripts/**/*"
    ],
    "path": "header.txt",
    "blocking": true,
    "logInfo": false,
    "logError": true
  },
  "dependencies": {
    "es6-promise": "latest",
    "opentracing": "^0.14.1",
    "passport-github": "^1.1.0"
  }
}

有没有人知道可能是什么问题?或者我在哪里可以找到基于 V 0 构建的示例网络。17.x?

v0.16.* 和 v0.17.* 之间存在重大变化 - 特别是连接配置文件。

一些应该有帮助的检查和信息:

  • 希望你 运行 npm uninstall -g composer-cli(以及 composer-rest-server)在安装前
  • 使用 composer -vnpm ls -g --depth=0
  • 检查您的作曲家版本
  • v0.17.* 需要 Hyperledger Fabric v1.1.0-preview(v0.16.* 需要 v1.0.4)命令 docker images 将显示您正在使用的 Fabric 版本。

如果您仍在使用 Fabric 1.0.4 运行 来自 fabric-tools 文件夹的这些命令:

./teardownFabric.sh
export FABRIC_VERSION=hlfv11
./download.sh
./startFabric.sh
  • 业务网络卡(特别是 connection.json)在 v0.16 和 v0.17 之间不兼容。我会将任何现有卡片导出到 .card 存档文件,以防您以后想要加密 material - 然后使用 composer card delete 删除卡片并删除完整的 ~/.composer 文件夹。
  • 假设您正在 运行开发结构 - 运行 ./startFabric.sh./createPeerAdminCard.sh

您现在应该能够部署您的网络和 运行 其余服务器。

我的问题是我从我的 docker 文件中错误的 docker 图像扩展。我需要为 v0.17.1 版本添加标签:

旧 docker 文件:

    FROM hyperledger/composer-rest-server
RUN npm install --production loopback-connector-mongodb passport-github && \
    npm cache clean --force && \
    ln -s node_modules .node_modules

新建docker文件:

    FROM hyperledger/composer-rest-server:0.17.1
RUN npm install --production loopback-connector-mongodb passport-github && \
    npm cache clean --force && \
    ln -s node_modules .node_modules

我遇到了同样的错误并根据以下补救措施解决,有效地重置了节点 Composer REST-API task-runner:

  1. cd ~/lib/node_modules/composer-cli/
  2. npm uninstall -g composer-cli
  3. nvm install --lts
  4. nvm use --lts
  5. npm install -g composer-cli

完成上述操作后,编译您的 .bna 文件并执行可执行文件。