Ash*_*shT 7 hyperledger hyperledger-fabric hyperledger-composer
从此页面安装Hyperledger Composer cli后,我尝试调用composer命令但出现此错误:
module.js:549
throw err;
^
Error: Cannot find module './api'
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/user/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli/node_modules/node-report/index.js:3:13)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
Run Code Online (Sandbox Code Playgroud)
我使用此命令安装Hyperledger Composer:
npm install --unsafe-perm -g composer-cli
Run Code Online (Sandbox Code Playgroud)
我可以知道出了什么问题吗?
Chr*_*Lim 16
在我的情况下,我在全球安装了composer-cli /usr/lib/node_modules/composer-cli
,我遇到了同样的问题.我不知道出了什么问题,但我试过了:
将目录更改为composer-cli:
cd /usr/lib/node_modules/composer-cli
在composer-cli中本地重新安装节点报告模块:
sudo npm install node-report --unsafe-perm
注意我没有把-g
param放在sudo npm install
composer-cli本身的本地安装中.
在node-report
将运行make
与g++
编译东西(由于某种原因,没有作曲家-CLI安装过程中运行),它就可以工作......现在我可以运行作曲家.
对于您的情况,请设置工作目录/home/user/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cli
.
答案是
1)不要使用root或sudo(如上面的注释中所建议的)来安装Composer npm模块 - 这会导致每个先决条件的 npm问题.相反,请遵循npm安装的最佳实践:不要使用sudo或root来安装Composer - 它总是会导致问题进一步发生.按照这里的最佳做法https://docs.npmjs.com/getting-started/fixing-npm-permissions
2)根据安装文档,获得支持的npm版本(截至2018年6月的5.x)
3)安装 - 然后使用 - nvm
来管理您的NODE版本 - 如上所述,支持节点8.11.x. 对于NVM - 请参阅https://github.com/creationix/nvm#installation - 它会安装它.例如.nvm install v8.11.1
2)nvm use 8.11.1
等
4)如果您已经/之前使用sudo或root安装了Composer模块 - 使用该ID npm uninstall -g
(即全局)删除它们,然后按照上面1)中提到的"最佳实践"进行操作,并按照Composer安装文档来执行Composer模块安装 - 非常非常直接.
按照这些步骤 - 它每次都有效.
归档时间: |
|
查看次数: |
5022 次 |
最近记录: |