How can I use "c++ bson extension" for Mongodb (with Nodejs) on Ubuntu droplet?

September 12, 2015 6k views
Node.js MongoDB NoSQL DigitalOcean Nginx Ubuntu

Hi,

I just deployed an Node.js + ExpressJS + MongoDB on an Ubuntu droplet and, although locally everything works great, here I get this message:

[Error: /home/..username../..appname../node_modules/mongodb/node_modules/bson/build/Release/bson.node: invalid ELF header]
js-bson: Failed to load c++ bson extension, using pure JS version

Even after searching, I only got to this question, being related to DigitalOcean.

Haven't found a way to use the bson extension yet, so any advice would be appreciated.

Thank you in advance,
Cosmin

1 Answer
js-bson: Failed to load c++ bson extension, using pure JS version

This is just a warning that it is falling back to the Javascript version rather than the native C++ extension. Though if this is causing issues for you, the first thing to check is that you have everything required to build native extensions. First make sure you have node-gyp installed.

  • npm install -g node-gyp

Now make sure you have gcc and make available on the system. On Ubuntu, use:

  • sudo apt-get install build-essential
Have another answer? Share your knowledge.