Fibers version missing when running Meteor Build after a fresh install of 1.0.1

We have a deploy script that suddenly started breaking on our Development server. Normal “meteor” to run the server works great, but the “Meteor build” commands fail.

I’ve spent some time debugging it and narrowed it down to the version of Fibers that is bundled by Meteor Build. The version it bundles is “linux-x64-v8-3.14” and the version its expecting is “linux-x64-v8-3.28”.

I’ve tried manually installing latest node from source and I’ve reinstalled fibers several times with no luck. Help?

FMSDEV3HYD:/usr/local/hydra_build/bundle # node main.js
/usr/local/hydra_build/bundle/programs/server/node_modules/fibers/fibers.js:16
throw Error: /usr/local/hydra_build/bundle/programs/server/node_modules/fibers/bin/linux-x64-v8-3.28/fibers.node is missing. Try reinstalling node-fibers?
at Object. (/usr/local/hydra_build/bundle/programs/server/node_modules/fibers/fibers.js:16:8)
at Module._compile (module.js:460:26)
at Object.Module._extensions…js (module.js:478:10)
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 Object. (/usr/local/hydra_build/bundle/programs/server/boot.js:1:75)
at Module._compile (module.js:460:26)
at Object.Module._extensions…js (module.js:478:10)

What version of node do you have installed on the server? I believe 0.10.36 is currently recommended.

I happen to know that he (we) are running v0.12.2

Doesn’t Meteor bundle its own version of node?

We reinstalled just to be safe. We can downgrade and try that?

I’ve read a dozen questions exactly like this on SO, and IIRC they all were all resolved by downgrading node to the currently recommended version (which you can find in the changelog).

It does, but only for development. In production you should be running meteor build which creates a bundle. You then untar that bundle to get a main.js. Next you cd bundle/programs/server && npm install. Finally you run node main.js or forever main.js (or other monitoring wrapper of your choosing). Either way, you are running a node version that you installed. The trick is installing the right one.

Alternatively you could use MUP which does all of this for you.

As @dweldon said, first check the changelog, then run the following (assuming v10.x of node):

curl -sL https://deb.nodesource.com/setup_0.10 | sudo bash -
sudo apt-get install -y nodejs
sudo apt-get install -y npm