Error with nodeos-initramfs when running npm install
Lithl opened this issue · comments
Attempting to build NodeOS, I get the following error when running npm install
:
npm ERR! Linux 4.10.0-28-generic
npm ERR! argv "/home/brian/.nvm/versions/node/v4.8.6/bin/node" "/home/brian/.nvm/versions/node/v4.8.6/bin/npm" "install"
npm ERR! node v4.8.6
npm ERR! npm v2.15.11
npm ERR! code ELIFECYCLE
npm ERR! nodeos-initramfs@1.0.0-RC3.2 install: `(prebuild-install -d https://github.com/NodeOS/nodeos-initramfs/releases/download/v{version}/{platform}-{arch}.tar.gz && scripts/checkOut) || (buildDependencies && npm run build)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the nodeos-initramfs@1.0.0-RC3.2 install script '(prebuild-install -d https://github.com/NodeOS/nodeos-initramfs/releases/download/v{version}/{platform}-{arch}.tar.gz && scripts/checkOut) || (buildDependencies && npm run build)'.
(The above is after downgrading the node/npm versions based on the suggestion from Incorrect NPM Version)
Is there any way to get around this?
This information in the wiki is outdated, NodeOS is compatible with latest versions of Node.js and npm since almost two years ago. Any help regarding documentation is greatly welcome.
Good to know I don't need an older version of Node. However, npm install
still fails at the nodeos-initramfs install script with node 8.9.1/npm 5.5.1.
What error do you have?
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/home/brian/.nvm/versions/node/v8.9.1/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 4.10.0-28-generic
gyp ERR! command "/home/brian/.nvm/versions/node/v8.9.1/bin/node" "/home/brian/.nvm/versions/node/v8.9.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/brian/NodeOS/node_modules/nodeos-initramfs/node_modules/fuse-bindings
gyp ERR! node -v v8.9.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! fuse-bindings@2.10.1 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the fuse-bindings@2.10.1 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! /home/brian/.npm/_logs/2017-11-20T21_47_25_431Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! nodeos-initramfs@1.0.0-RC3.2 install: `(prebuild-install -d https://github.com/NodeOS/nodeos-initramfs/releases/download/v{version}/{platform}-{arch}.tar.gz && scripts/checkOut) || (buildDependencies && npm run build)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the nodeos-initramfs@1.0.0-RC3.2 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! /home/brian/.npm/_logs/2017-11-20T21_47_28_193Z-debug.log
Seems to be a problem with gyp
on fuse-bindings
...
Do you have any idea what the solution might be?
The problem starts here:
prebuild-install` info begin Prebuild-install version 2.4.1
prebuild-install info looking for local prebuild @ prebuilds/fuse-bindings-v2.10.1-node-v48-linux-x64.tar.gz
prebuild-install info looking for cached prebuild @ /home/jon/.npm/_prebuilds/https-github.com-mafintosh-fuse-bindings-releases-download-v2.10.1-fuse-bindings-v2.10.1-node-v48-linux-x64.tar.gz
prebuild-install http request GET https://github.com/mafintosh/fuse-bindings/releases/download/v2.10.1/fuse-bindings-v2.10.1-node-v48-linux-x64.tar.gz
prebuild-install http 404 https://github.com/mafintosh/fuse-bindings/releases/download/v2.10.1/fuse-bindings-v2.10.1-node-v48-linux-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=6.12.2 runtime=node arch=x64 platform=linux)
It is getting the 404 response. I went to that repository and there is no v2.10.1 --- the latest I saw is v2.8.1
So the install script needs to reflect that, right? All the other errors on install were downstream of this.
I was poking around seeing if I could make the script download a previous release for fuse-bindings
I found this in the README.md:
## Requirements
You need to have FUSE installed (or Dokany on Windows)
* On Linux/Ubuntu `sudo apt-get install libfuse-dev`
* On OSX
* if you use Brew, install [OSXFuse](http://osxfuse.github.com/) and `brew install pkg-config`
* if you use MacPorts, `sudo port install osxfuse +devel`
* On Windows install [Dokany](https://github.com/dokan-dev/dokany)
installing libfuse-dev got me past those errors.
Why is that not included in the "install-dependencies" script?
Because we already download the libfuse
source code to be standalone and isolated from the system installed libraries.
ah, interesting. I've no real idea what i'm doing, but i'd like to help.
The "npm install" completes successfully when libfuse-dev is installed first.
the next step fails eventually: npm run build
I think that might be a different issue though. Working through it now.