pete913
pete913

Reputation: 83

npm install for Hyperledger Tutorial Fails

I am currently working on a fresh minimal install of Ubuntu 16.0.4 using Hyperledger Fabric. I have pulled down a fresh install of the fabric samples from the Hyperledger documentation site. I have downloaded the following software:

node version 6.9.5
npm version 3.10.10
docker version 17.03.2-ce
golang version 1.7.6 (documentation now calls for newer version, but I think this is unrelated)

I can navigate to the fabcar directory which contains the default npm package.json. I first run ./startFabric as indicated in the instructions. I then run npm install, per the instructions. I then get the error:

u@ubmin2:~/fabric-samples/fabcar$ npm install  
npm WARN deprecated [email protected]: This package is no longer supported. It's  now a built-in Node module. If you've depended on crypto, you should switch  to the one that's built-in.  

> [email protected] install /home/u/fabric-samples/fabcar/node_modules/pkcs11js  
> npm run build  


> [email protected] build /home/u/fabric-samples/fabcar/node_modules/pkcs11js  
> node-gyp configure build  

gyp ERR! build error  
gyp ERR! stack Error: not found: make  
gyp ERR! stack     at getNotFoundError (/usr/local/node/lib/node_modules/npm/node_modules/which/which.js:14:12)  
gyp ERR! stack     at F (/usr/local/node/lib/node_modules/npm/node_modules/which/which.js:69:19)  
gyp ERR! stack     at E (/usr/local/node/lib/node_modules/npm/node_modules/which/which.js:81:29)  
gyp ERR! stack     at /usr/local/node/lib/node_modules/npm/node_modules/which/which.js:90:16  
gyp ERR! stack     at /usr/local/node/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:44:5  
gyp ERR! stack     at /usr/local/node/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:8:5  
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:123:15)  
gyp ERR! System Linux 4.4.0-96-generic  
gyp ERR! command "/usr/local/node/bin/node" "/usr/local/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"  
gyp ERR! cwd /home/u/fabric-samples/fabcar/node_modules/pkcs11js  
gyp ERR! node -v v6.9.5  
gyp ERR! node-gyp -v v3.4.0  
gyp ERR! not ok  

npm ERR! Linux 4.4.0-96-generic  
npm ERR! argv "/usr/local/node/bin/node" "/usr/local/node/bin/npm" "run" "build"  
npm ERR! node v6.9.5  
npm ERR! npm  v3.10.10  
npm ERR! code ELIFECYCLE  
npm ERR! [email protected] build: `node-gyp configure build`  
npm ERR! Exit status 1  
npm ERR!   
npm ERR! Failed at the [email protected] build script 'node-gyp configure build'.  
npm ERR! Make sure you have the latest version of node.js and npm installed.  
npm ERR! If you do, this is most likely a problem with the pkcs11js package,  
npm ERR! not with npm itself.  
npm ERR! Tell the author that this fails on your system:  
npm ERR!     node-gyp configure build  
npm ERR! You can get information on how to open an issue for this project with:  
npm ERR!     npm bugs pkcs11js  
npm ERR! Or if that isn't available, you can get their info via:  
npm ERR!     npm owner ls pkcs11js  
npm ERR! There is likely additional logging output above.  
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
...

Based on that, it appears that there is a missing pkcs11js module that needs to be included. When I add that module to the package.json file, remove the node_modules file and rerun the "npm install," the error shifts to:

u@ubmin2:~/fabric-samples/fabcar$ npm install  
npm WARN deprecated [email protected]: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.  

> [email protected] install /home/u/fabric-samples/fabcar/node_modules/pkcs11js
> npm run build  

> [email protected] build /home/u/fabric-samples/fabcar/node_modules/pkcs11js
> node-gyp configure build  

gyp ERR! build error  
gyp ERR! stack Error: not found: make  
gyp ERR! stack     at getNotFoundError (/usr/local/node/lib/node_modules/npm/node_modules/which/which.js:14:12)  
gyp ERR! stack     at F (/usr/local/node/lib/node_modules/npm/node_modules/which/which.js:69:19)  
gyp ERR! stack     at E (/usr/local/node/lib/node_modules/npm/node_modules/which/which.js:81:29)  
gyp ERR! stack     at /usr/local/node/lib/node_modules/npm/node_modules/which/which.js:90:16  
gyp ERR! stack     at /usr/local/node/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:44:5  
gyp ERR! stack     at /usr/local/node/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:8:5  
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:123:15)  
gyp ERR! System Linux 4.4.0-96-generic  
gyp ERR! command "/usr/local/node/bin/node" "/usr/local/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"  
gyp ERR! cwd /home/u/fabric-samples/fabcar/node_modules/pkcs11js  
gyp ERR! node -v v6.9.5  
gyp ERR! node-gyp -v v3.4.0  
gyp ERR! not ok  

npm ERR! Linux 4.4.0-96-generic  
npm ERR! argv "/usr/local/node/bin/node" "/usr/local/node/bin/npm" "run" "build"  
npm ERR! node v6.9.5  
npm ERR! npm  v3.10.10  
npm ERR! code ELIFECYCLE  
npm ERR! [email protected] build: `node-gyp configure build`  
npm ERR! Exit status 1  
npm ERR!  
npm ERR! Failed at the [email protected] build script 'node-gyp configure build'.  
npm ERR! Make sure you have the latest version of node.js and npm installed.  
npm ERR! If you do, this is most likely a problem with the pkcs11js package,  
npm ERR! not with npm itself.  
npm ERR! Tell the author that this fails on your system:  
npm ERR!     node-gyp configure build  
npm ERR! You can get information on how to open an issue for this project with:  
npm ERR!     npm bugs pkcs11js  
npm ERR! Or if that isn't available, you can get their info via:  
npm ERR!     npm owner ls pkcs11js  
npm ERR! There is likely additional logging output above.  
npm WARN Local package.json exists, but node_modules missing, did you mean to install?  

npm ERR! Please include the following file with any support request:  
npm ERR!     /home/u/fabric-samples/fabcar/node_modules/pkcs11js/npm-debug.log  
[email protected] /home/u/fabric-samples/fabcar
...  

Does anyone understand why npm install is failing to run as expected?

------UPDATE------ in response to christo4ferris, sorry, I should have shown that as well. I've tried many things including installing and removing make. when I install make, I still get an error:

npm WARN [email protected] No repository field.
npm ERR! Linux 4.4.0-96-generic
npm ERR! argv "/usr/local/node/bin/node" "/usr/local/node/bin/npm" "install"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.10
npm ERR! path /home/u/fabric-samples/fabcar/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access

npm ERR! Error: EACCES: permission denied, access '/home/u/fabric-samples/fabcar/node_modules'
npm ERR!     at Error (native)
npm ERR!  { Error: EACCES: permission denied, access '/home/u/fabric-samples/fabcar/node_modules'
npm ERR!     at Error (native)
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/home/u/fabric-samples/fabcar/node_modules' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/u/fabric-samples/fabcar/npm-debug.log

And then, when I run as sudo us to run as root, I get this error message:

root@ubmin2:/home/u/fabric-samples/fabcar# npm install
npm WARN deprecated [email protected]: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.

> [email protected] install /home/u/fabric-samples/fabcar/node_modules/pkcs11js
> npm run build


> [email protected] build /home/u/fabric-samples/fabcar/node_modules/pkcs11js
> node-gyp configure build

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/6.9.5"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/u/fabric-samples/fabcar/node_modules/pkcs11js/.node-gyp"
make: Entering directory '/home/u/fabric-samples/fabcar/node_modules/pkcs11js/build'
  CXX(target) Release/obj.target/pkcs11/src/main.o
make: g++: Command not found
pkcs11.target.mk:107: recipe for target 'Release/obj.target/pkcs11/src/main.o' failed
make: *** [Release/obj.target/pkcs11/src/main.o] Error 127
make: Leaving directory '/home/u/fabric-samples/fabcar/node_modules/pkcs11js/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.0-96-generic
gyp ERR! command "/usr/local/node/bin/node" "/usr/local/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /home/u/fabric-samples/fabcar/node_modules/pkcs11js
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 

npm ERR! Linux 4.4.0-96-generic
npm ERR! argv "/usr/local/node/bin/node" "/usr/local/node/bin/npm" "run" "build"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] build: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] build script 'node-gyp configure build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the pkcs11js package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp configure build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs pkcs11js
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls pkcs11js
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! Please include the following file with any support request:
npm ERR!     /home/u/fabric-samples/fabcar/node_modules/pkcs11js/npm-debug.log
[email protected] /home/u/fabric-samples/fabcar

Thank you.

Upvotes: 1

Views: 1636

Answers (1)

pete913
pete913

Reputation: 83

The issue was that I was missing a necessary c++ compiler. It seems it was not included in the Ubuntu minimal installation, which makes sense, but the errors seemed very opaque. Running sudo apt install build-essential g++ seems to have solved the problem.

I'm not sure if it was necessary, but I also needed to add alias sudo='sudo env PATH=$PATH' to my .bashrc file so I could run npm with sudo. That solution came from this link.

Upvotes: 5

Related Questions