NodeOS / NodeOS

Lightweight operating system using Node.js as userspace

Home Page:http://node-os.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error with nodeos-initramfs when running npm install

Lithl opened this issue · comments

commented

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.

commented

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?

commented
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...

commented

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.

There's a v2.10.1... but there are no new prebuilds since v2.8.1. Probably we should open an issue there so they create new ones (and upgrade to libfuse 3...), or we can check to use the latests stable release...

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.