Hyperledger fabric Composer rest server 0.19.6找不到模块';ieee754';

Hyperledger fabric Composer rest server 0.19.6找不到模块';ieee754';,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,我正试图将部署的hyperledger composer业务网络公开给rest api 在这一过程中,我成功地发布了composer rest server,并遵循了随后的提示,但我似乎在将我的网络暴露于版本为0.19.6的rest api时遇到了问题 完整的错误消息如下所示: module.js:549 throw err; ^ Error: Cannot find module 'ieee754' at Function.Module._resolveFilenam

我正试图将部署的hyperledger composer业务网络公开给rest api

在这一过程中,我成功地发布了
composer rest server
,并遵循了随后的提示,但我似乎在将我的网络暴露于版本为0.19.6的rest api时遇到了问题

完整的错误消息如下所示:

module.js:549
    throw err;
    ^

Error: Cannot find module 'ieee754'
    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> (/Users/ibm-jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer-rest-server/node_modules/swagger-client/dist/index.js:7:11355)
    at t (/Users/ibm-jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer-rest-server/node_modules/swagger-client/dist/index.js:1:177)
    at Object.<anonymous> (/Users/ibm-jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer-rest-server/node_modules/swagger-client/dist/index.js:7:15)
    at Object.<anonymous> (/Users/ibm-jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer-rest-server/node_modules/swagger-client/dist/index.js:7:11111)
    at t (/Users/ibm-jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer-rest-server/node_modules/swagger-client/dist/index.js:1:177)
    at Object.<anonymous> (/Users/ibm-jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer-rest-server/node_modules/swagger-client/dist/index.js:1:48717)
module.js:549
犯错误;
^
错误:找不到模块“ieee754”
在Function.Module.\u解析文件名(Module.js:547:15)
在Function.Module.\u加载(Module.js:474:25)
at Module.require(Module.js:596:17)
根据需要(内部/module.js:11:18)
反对。(/Users/ibm jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer rest server/node_modules/swagger client/dist/index.js:7:11355)
在t(/Users/ibm jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer rest server/node_modules/swagger client/dist/index.js:1:177)
反对。(/Users/ibm jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer rest server/node_modules/swagger client/dist/index.js:7:15)
反对。(/Users/ibm jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer rest server/node_modules/swagger client/dist/index.js:7:11111)
在t(/Users/ibm jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer rest server/node_modules/swagger client/dist/index.js:1:177)
反对。(/Users/ibm jti/.nvm/versions/node/v8.11.1/lib/node_modules/composer rest server/node_modules/swagger client/dist/index.js:1:48717)
什么是模块
ieee754
?我应该如何解决这个问题

注意:我使用的是fabric版本1.1和composer 0.19.6您需要安装它

npm安装-g ieee754


上面的答案很接近,但您需要的不是全局安装。下面是我如何解决这个问题的,我相信它也会对你起作用(我有一个Mac,所以这将假设是Linux系统,但一般步骤是相同的)

问题 全局模块
composer rest服务器
没有在全局模块本地安装程序包
ieee754

解决方案 我们需要到达全局模块
composer rest server
安装在我们机器上的位置,以安装模块的本地依赖项

精确解 1.)composer rest server的全局包位于以下两条路径之一:

  • /usr/local/lib/node_modules/composer rest服务器(对我来说它就在这里)
  • /usr/local/lib/node/composer rest服务器
2.)点击
cmd
space
调出聚光灯搜索并输入
/usr/local/lib/node_模块
,然后点击“回车”查看所有全局模块。确认
composer rest server
文件夹是否存在

3.)打开终端窗口并输入:
cd/usr/local/lib/node\u modules/composer rest server
(如果确认文件夹位于该路径)

4.)运行此命令:
npm安装ieee754--save

5.)回到你原来的项目所在地,你就可以开始了。运行
composer rest server
命令,如果您安装了所有必备组件,则该命令将成功

另一个(可能的)问题 在修复了
composer rest server
命令将运行之后,但在输入信息结束时,它询问该命令是否会由于
节点gyp
二进制或类似的版本不匹配而崩溃

接下来我要做的是返回到命令行中的全局模块,然后:

  • 使用命令rm-r node_modules
  • 运行
    nvm ls
    (假设您安装了节点版本管理器),并确保您使用的是节点v8.11.2
  • 如果没有,则输入
    nvm使用v8.11.2
    (假设您已经安装了它,如果没有安装在您的机器上)
  • 最后,我运行了
    npm install
    来重新安装
    composer rest server
    模块中的所有依赖项
  • 以上这些可能是必要的,也可能不是必要的,但我会把它们放在一边,以防你和我面临同样的问题

    如果您执行上述步骤,您的问题将得到解决。很接近,但您需要做更多的准备工作,并在全局
    composer rest server
    模块中本地安装它

    更新: 问题已经解决。

    请参阅
    我需要一个解释。虽然SO有不同的症状和不同的环境,但原因是相同的。

    谢谢@Benyam,缺少的
    ieee754
    模块正是我在
    composer rest server
    node_模块中缺少的。对于的mac用户,全局软件包的
    node\u modules
    文件夹可能位于
    ~/.nvm/versions/node/[your\u nodejs\u version]/lib/node\u modules/composer rest服务器中