3

I am trying to install Hyperledger Caliper CLI from npm.
However, can't bind the sut, fabric SDK with caliper. It shows the following -

2020.01.12-19:29:43.747 info  [caliper] [bind]  Calling npm with: install grpc@1.14.2 fabric-ca-client@1.4.4 fabric-client@1.4.4 fabric-protos@2.0.0-snapshot.1 fabric-network@1.4.4
npm WARN deprecated hoek@4.2.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

> pkcs11js@1.0.19 install /home/necos/caliper/caliper-benchmarks/node_modules/pkcs11js
> node-gyp rebuild

gyp WARN EACCES current user ("necos") does not have permission to access the dev dir "/root/.cache/node-gyp/8.10.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/necos/caliper/caliper-benchmarks/node_modules/pkcs11js/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/necos/caliper/caliper-benchmarks/node_modules/pkcs11js/.node-gyp'
gyp ERR! System Linux 4.15.0-74-generic
gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/necos/caliper/caliper-benchmarks/node_modules/pkcs11js
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 
npm WARN notsup Unsupported engine for fabric-protos@2.0.0-snapshot.1: wanted: {"node":"^8.9.0","npm":"^5.5.1"} (current: {"node":"8.10.0","npm":"6.13.6"})
npm WARN notsup Not compatible with your version of node/npm: fabric-protos@2.0.0-snapshot.1

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! pkcs11js@1.0.19 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the pkcs11js@1.0.19 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-01-12T22_30_01_834Z-debug.log
2020.01.12-19:30:01.898 error [caliper] [bind]  Failed to execute "npm" with return code 1.
Error: Failed to execute "npm" with return code 1.
    at ChildProcess.proc.on (/home/necos/caliper/caliper-benchmarks/node_modules/@hyperledger/caliper-cli/lib/utils/cmdutils.js:56:35)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
Command failed

I tried node-gyp rebuild, but seems of no use. Anybody can clarify what's happening here?

Installation environment:
Ubuntu bionic on the server,
NodeJS v8.10
node-gyp v6.1.0
node-pre-gyp v0.14.0
Docker v19.03.1
Docker-compose v0.19.20

1 Answers1

0

This is the root of the problem:

gyp WARN EACCES current user ("necos") does not have permission to access the dev dir "/root/.cache/node-gyp/8.10.0

The Caliper install guide contains workarounds for this problem: https://hyperledger.github.io/caliper/vLatest/installing-caliper/#installing-from-npm

The above is inspired by the official NPM guide for the same problem: https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

Attila Klenik
  • 753
  • 6
  • 13