Composer-rest-server 0.19.6 找不到模块 'ieee754'

Composer-rest-server 0.19.6 Cannot find module 'ieee754'

我正在尝试将我已部署的 hyperledger composer 业务网络公开给其他人 api。

我已经通过发布 composer-rest-server 并按照随后的提示成功通过了,但是我似乎无法将我的网络暴露给 0.19.6 版本的休息 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)

什么是模块 ieee754?我应该如何解决这个问题?

注意:我使用的是 fabric 版本 1.1 和 composer 0.19.6

你需要安装它

npm install -g ieee754

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

问题

全局模块 composer-rest-server 没有安装包 ieee754 local 到全局模块。

解决方案

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

精确解

1.) composer-rest-server 的全局包位于以下两个路径之一:

  • /usr/local/lib/node_modules/composer-rest-server(对我来说就是这里)
  • /usr/local/lib/node/composer-rest-server

2.) 点击 cmd & space 调出聚光灯搜索并输入 /usr/local/lib/node_modules 然后点击 'enter' 查看所有全局模块。确认 composer-rest-server 文件夹存在。

3.) 打开终端 window 并输入: cd /usr/local/lib/node_modules/composer-rest-server(如果您确认该文件夹位于该路径)

4.) 运行 这个命令:npm install ieee754 --save

5.) 回到原来的项目所在的位置,一切顺利。 运行 composer-rest-server 命令,如果您已安装所有先决条件,它将成功。

另一个(可能的)问题

在修复 composer-rest-server 命令会 运行 之后,但在输入信息结束时,它询问它会由于 node-gyp 二进制文件的版本不匹配而崩溃,或者类似的东西。

我接下来要做的是返回到命令行中的那个全局模块并且:

  1. 使用命令 rm -r node_modules
  2. 删除 node_modules 文件夹
  3. 运行 nvm ls(假设您安装了节点版本管理器)并确保您使用的是节点 v8.11.2
  4. 如果没有则输入nvm use v8.11.2(假设你已经安装了它,如果没有安装在你的机器上)
  5. 最后,我 运行 npm install 重新安装 composer-rest-server 模块中的所有依赖项

以上可能是必要的,也可能不是必要的,但我会把它放在以防万一你遇到和我一样的问题。

如果您按照上述步骤操作,您的问题就会得到解决。 hossam abdallah 很接近,但你必须做更多的步法,实际上将它安装在全局 composer-rest-server 模块中。

更新:

Here is the issue thread for this problem.已经解决

寻求解释。虽然SO症状不同,环境不同,但原因都是一样的。