作曲家休息服务器升级到作曲家0.19.6后无法启动

时间:2018-05-28 07:31:36

标签: hyperledger-composer

docker logs -f rest显示以下内容

[2018-05-28 06:38:39] PM2 log: Launching in no daemon mode
[2018-05-28 06:38:39] PM2 log: Starting execution sequence in -fork mode- for app name:composer-rest-server id:0
[2018-05-28 06:38:39] PM2 log: App name:composer-rest-server id:0 online
{ Error: Cannot find module 'base64-js'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/composer/node_modules/swagger-client/dist/index.js:7:11309)
    at t (/home/composer/node_modules/swagger-client/dist/index.js:1:177)
    at Object.<anonymous> (/home/composer/node_modules/swagger-client/dist/index.js:7:7)
    at Object.<anonymous> (/home/composer/node_modules/swagger-client/dist/index.js:7:11111)
    at t (/home/composer/node_modules/swagger-client/dist/index.js:1:177)
    at Object.<anonymous> (/home/composer/node_modules/swagger-client/dist/index.js:1:48717)
    at t (/home/composer/node_modules/swagger-client/dist/index.js:1:177)
    at Object.<anonymous> (/home/composer/node_modules/swagger-client/dist/index.js:1:40420)
    at t (/home/composer/node_modules/swagger-client/dist/index.js:1:177)
    at Object.<anonymous> (/home/composer/node_modules/swagger-client/dist/index.js:1:16408)
    at t (/home/composer/node_modules/swagger-client/dist/index.js:1:177)
    at Object.<anonymous> (/home/composer/node_modules/swagger-client/dist/index.js:1:15877) code: 'MODULE_NOT_FOUND' }
[2018-05-28 06:38:41] PM2 log: App [composer-rest-server] with id [0] and pid [14], exited with code [1] via signal [SIGINT]

我通过npm安装了base64-js,但仍然遇到了同样的错误

2 个答案:

答案 0 :(得分:0)

https://github.com/hyperledger/composer/issues/4067 3天前发布了一个糟糕的swagger-client npm模块,导致了这个问题。现已发布新版本的swagger-client 3.8.6来解决问题。

答案 1 :(得分:0)

继续之前的回答和评论:

上周在构建Docker Images for Composer时出现了问题,因此版本中包含&#34;最新版本&#34;标签是v0.19.5。

如果您在Docker Hub上查看此页面,您可以看到问题:

https://hub.docker.com/r/hyperledger/composer-rest-server/tags/

作为一项临时措施,如果您运行这两个docker命令,您应该获得与v0.19.6已安装模块兼容的v0.19.6版本的映像。

docker pull hyperledger/composer-rest-server:0.19.6-20180524041020

docker tag hyperledger/composer-rest-server:0.19.6-20180524041020 hyperledger/composer-rest-server:latest

我建议在使用上述命令之前使用docker rmi删除任何现有的composer-rest-server映像。

稍后更新评论 - 和Appology

对不起 - 我认为这样可行并且这些版本兼容。

要立即获得兼容性,您可以将所有内容重新安装到v0.19.5并使用&#39;技巧&#39;上面提取一个composer-rest-server v0.19.5并重命名为latest(先删除了之前的那个)

您可以卸载composer并安装特定于日期的版本以与容器版本兼容。 (您需要重新启动结构并重新部署网络。)例如, npm install -g composer-cli@0.19.6-20180524041020

我没有测试过这个!