I've spent a couple of days trying to run a build app from Meteor on my Synology ds213j (Armv7, 512MB ram).
I keep encountering the following error
## There is an issue with `node-fibers` ##
`/volume1/homes/user/app/bundle/programs/server/node_modules/fibers/bin/linux-arm-57/fibers.node` is missing.
Try running this to fix the issue: /volume1/homes/user/.nvm/versions/node/v8.11.2/bin/node /volume1/homes/user/app/bundle/programs/server/node_modules/fibers/build
Error: /volume1/homes/user/app/bundle/programs/server/node_modules/fibers/bin/linux-arm-57/fibers.node: internal error
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/volume1/homes/user/app/bundle/programs/server/node_modules/fibers/fibers.js:13:39)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
/volume1/homes/user/app/bundle/programs/server/node_modules/fibers/fibers.js:22
throw new Error('Missing binary. See message above.');
^
Error: Missing binary. See message above.
at Object.<anonymous> (/volume1/homes/user/app/bundle/programs/server/node_modules/fibers/fibers.js:22:9)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/volume1/homes/user/app/bundle/programs/server/boot.js:1:75)
at Module._compile (module.js:652:30)
BUT, fibers.node actually EXIST!
What I did before:
build meteor app
meteor build --server-only --architecture os.linux.x86_32on the /program/server folder
npm install --productionnpm install fibers
What I tried to fix it:
- go to /programs/server/ and run npm install fibers (and reinstall)
installing from source following the instructions on https://www.npmjs.com/package/fibers
my meteor app uses Node 8.11.2 but the only node version available for synology is 8.9.4. Removed it and manually installed the 8.11.2
build an default meteor app to check if is my app giving problems.
Nothing worked so far and I have no idea what to do next.
I suspect the problem is that fibers is built for linux-arm-57 and I suppose I need arm-7I? There is something I can do to make this work?
Thanks!
In the following I describe the way you correctly deploy your app to an ARMv7 device. By doing so I will highlight important steps that may often be cause of errors. I hope your problem will solve by reproducing these steps.
1. Build your production app
buildcommand (I adapted your specs a bit here).2. Prepare your target device' environment
fibersorbcryptare such native addons.npackage.mongodb>= 2.6 (important!) on your target device (not covered in this answer).3. Install your production app on the target device
fibersorbcrypt) should be installed here without any errors. Now go back tobundle/and start the app:I hope by replicating this guide you will find a solution to your problem.
Added for SEO reasons: This guide shows how to deploy a Meteor app on a Raspberry PI with ARMv7 architecture and Raspbian (32 bit) installed. It can also be used as a foundation for other ARMv7 devices, such as OP's Synology.