web-dev-qa-db-ja.com

エラー:モジュール './api'が見つかりません(Hyperledger composer)

Hyperledger Composer cli from this page をインストールした後、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)

このコマンドを使用して、Hyperledger Composerをインストールしました。

npm install --unsafe-perm -g composer-cli

何が悪いのかわかりますか?

7
AshT

私の場合、composer-cliをグローバル/usr/lib/node_modules/composer-cliにインストールし、同じ問題に遭遇しました。何が悪いのかわかりませんが、試しました:

  1. ディレクトリをcomposer-cliに変更します。

    cd /usr/lib/node_modules/composer-cli

  2. 再インストールノードレポートモジュール、ローカルで内部 composer-cli:

    Sudo npm install node-report --unsafe-perm

-gSudo npm install paramを入れず、composer-cli自体のインストールをローカルにしないことに注意してください。

node-reportmakeg++とともに実行して何かをコンパイルし(何らかの理由でcomposer-cliのインストール中には実行されませんでした)、正常に機能します...これでcomposerを実行できます。

代わりに、作業ディレクトリを/home/user/.nvm/versions/node/v8.11.1/lib/node_modules/composer-cliに設定してください。

17
Christian Lim

答えは

1)ルートまたはSudo(上記のコメントで推奨されている)を使用してインストールしないComposer npmモジュール- prerequisites に従ってnpmの問題が発生します。代わりに、npmインストールのベストプラクティスに従ってください。Sudoまたはrootを使用してインストールしないComposer-常に問題をさらに先に引き起こします。ここのベストプラクティスに従ってください https://docs.npmjs.com/getting-started/fixing-npm-permissions

2)インストールごとにサポートされているnpmバージョン(2018年6月の時点で5.x)がある docs

3)インストール-次に-nvmを使用してNODEバージョンを管理します-上記のようにNode 8.11.xがサポートされています。NVMの場合- https://を参照してくださいgithub.com/creationix/nvm#installation -インストールします。例:nvm install v8.11.1 2)nvm use 8.11.1など

4)すでに/以前にインストールしている場合Composer Sudoまたはrootを使用してモジュール-npm uninstall -g(つまりグローバル)を使用してそのIDを使用して削除し、上記の「ベストプラクティス」に従ってください1)で Composerインストールドキュメント に従ってComposerモジュールのインストール-非常に簡単です。

これらの手順に従う-それは毎回動作します。

6
Paul O'Mahony

私にとっては、完全に拭く

rm -rf /usr/lib/node_modules/composer-cli

と実行npm install -g composer-cli

仕事をしました:)(node-reportの再インストールは機能しませんでした)

1
BiS