Hyperledger fabric Composer rest server 0.19.6找不到模块';ieee754';
我正试图将部署的hyperledger composer业务网络公开给rest api 在这一过程中,我成功地发布了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
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服务器
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
二进制或类似的版本不匹配而崩溃
接下来我要做的是返回到命令行中的全局模块,然后:
nvm ls
(假设您安装了节点版本管理器),并确保您使用的是节点v8.11.2nvm使用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服务器中