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
二进制文件的版本不匹配而崩溃,或者类似的东西。
我接下来要做的是返回到命令行中的那个全局模块并且:
- 使用命令
rm -r node_modules
删除 node_modules
文件夹
- 运行
nvm ls
(假设您安装了节点版本管理器)并确保您使用的是节点 v8.11.2
- 如果没有则输入
nvm use v8.11.2
(假设你已经安装了它,如果没有安装在你的机器上)
- 最后,我 运行
npm install
重新安装 composer-rest-server
模块中的所有依赖项
以上可能是必要的,也可能不是必要的,但我会把它放在以防万一你遇到和我一样的问题。
如果您按照上述步骤操作,您的问题就会得到解决。 hossam abdallah 很接近,但你必须做更多的步法,实际上将它安装在全局 composer-rest-server
模块中。
更新:
见
寻求解释。虽然SO症状不同,环境不同,但原因都是一样的。
我正在尝试将我已部署的 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
二进制文件的版本不匹配而崩溃,或者类似的东西。
我接下来要做的是返回到命令行中的那个全局模块并且:
- 使用命令
rm -r node_modules
删除 - 运行
nvm ls
(假设您安装了节点版本管理器)并确保您使用的是节点 v8.11.2 - 如果没有则输入
nvm use v8.11.2
(假设你已经安装了它,如果没有安装在你的机器上) - 最后,我 运行
npm install
重新安装composer-rest-server
模块中的所有依赖项
node_modules
文件夹
以上可能是必要的,也可能不是必要的,但我会把它放在以防万一你遇到和我一样的问题。
如果您按照上述步骤操作,您的问题就会得到解决。 hossam abdallah 很接近,但你必须做更多的步法,实际上将它安装在全局 composer-rest-server
模块中。
更新:
见