我正在尝试从npm安装Hyperledger Caliper CLI。
但是,不能将sut织物SDK与卡尺绑定。它显示以下内容-

2020.01.12-19:29:43.747 info  [caliper] [bind]  Calling npm with: install [email protected] [email protected] [email protected] [email protected] [email protected]
npm WARN deprecated [email protected]: 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).

> [email protected] 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 [email protected]: 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: [email protected]

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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


我尝试了node-gyp重建,但似乎没有用。
任何人都可以澄清这里发生了什么吗?

安装环境:
服务器上的Ubuntu仿生,
NodeJS v8.10
node-gyp v6.1.0
节点预gyp v0.14.0
Docker v19.03.1
Docker-compose v0.19.20

最佳答案

这是问题的根源:

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


Caliper安装指南包含解决此问题的方法:
https://hyperledger.github.io/caliper/vLatest/installing-caliper/#installing-from-npm

上面的内容是受NPM官方指南的启发而解决的:
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

10-07 14:51