我试图在作曲家的预发布版本上设置一个持久的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构建的示例网络?
答案 0 :(得分:2)
我遇到了同样的错误,并根据以下补救措施解决了,有效地重置了节点Composer REST-API任务 - 跑步者:
cd ~/lib/node_modules/composer-cli/
npm uninstall -g composer-cli
nvm install --lts
nvm use --lts
npm install -g composer-cli
完成上述操作后,编译.bna文件并继续执行可执行文件。
答案 1 :(得分:1)
v0.16。*和v0.17之间存在重大变化。* - 尤其是连接配置文件。
一些应该有用的检查和信息:
npm uninstall -g composer-cli
(以及对于composer-rest-server)composer -v
和npm ls -g --depth=0
docker images
将显示您正在使用的Fabric版本。 如果您仍在使用Fabric 1.0.4,请从fabric-tools
文件夹中运行以下命令:
./teardownFabric.sh
export FABRIC_VERSION=hlfv11
./download.sh
./startFabric.sh
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