Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

bcrypt is breaking my meteor application, how do I fix it?

I wasn't sure if this should be a stackoverflow or serverfault question.

I installed Meteor's accounts-password module and it worked locally, but broke my app when deployed to the server. Here's the scoop:

I'm running the latest Meteor 1.0.5 locally on OSX (OS just fully updated) Building with --architecture os.linux.x86_64 Deploying to Ubuntu 14.04.2 LTS x86_64 (just updated) Running nodejs v0.12.1 (freshly built) Serving app with nginx v1.4.0

And still getting:

/home/secrethistory/bundle/programs/server/node_modules/fibers/future.js:245
                                            throw(ex);
                                                  ^
Error: Module did not self-register.
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at bindings (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
    at Object.<anonymous> (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)

Any tips or places to look next?

like image 481
Wes Modes Avatar asked Mar 30 '15 07:03

Wes Modes


2 Answers

The bcrypt module is platform dependant (as fibers), so you need to remove the package after decompressing the bundle in your server:

rm -R path/to/bcrypt

then install it again:

npm install bcrypt
like image 136
fcobcn Avatar answered Nov 19 '22 09:11

fcobcn


As of Meteor 1.0.5 (and this also applies to the forthcoming 1.1), we have not yet gone through the full testing, validation, and QA process with Node 0.12. I would recommend sticking with Node 0.10 until that point. While it is likely that it will mostly work, it's possible that some core changes will be necessary, and as you've seen, binary packages built against the 0.10 ABI don't work with 0.12.

like image 38
David Glasser Avatar answered Nov 19 '22 07:11

David Glasser