连接失败:错误:无法加载连接器模块" composer-connector-undefined"对于连接类型" undefined"

时间:2018-01-25 09:34:33

标签: rest hyperledger-fabric hyperledger hyperledger-composer

我试图在作曲家的预发布版本上设置一个持久的REST服务器 - 0.17.1。但是,当我查看我的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构建的示例网络?

3 个答案:

答案 0 :(得分:2)

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

  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
  6. 完成上述操作后,编译.bna文件并继续执行可执行文件。

答案 1 :(得分:1)

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。* required 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存档文件,如果您以后想要加密材料 - 然后使用composer card delete删除卡并删除完整的~/.composer文件夹。
  • 假设您正在运行开发结构 - 运行./startFabric.sh./createPeerAdminCard.sh

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

答案 2 :(得分:1)

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

旧码头文件:

    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