Problems running Meteor in docker -> fibers.node is missing

700 Views Asked by At

I'm trying to run my Meteor Project in a docker container but I'm seeing the following error:

=> Starting app on port 3000...
## There is an issue with `node-fibers` ##
`/opt/meteor/dist/bundle/programs/server/node_modules/fibers/bin/linux-x64-57/fibers.node` is missing.

Try running this to fix the issue: /opt/nodejs/bin/node /opt/meteor/dist/bundle/programs/server/node_modules/fibers/build
/opt/meteor/dist/bundle/programs/server/node_modules/fibers/fibers.js:20
    throw new Error('Missing binary. See message above.');
    ^

Error: Missing binary. See message above.
    at Object.<anonymous> (/opt/meteor/dist/bundle/programs/server/node_modules/fibers/fibers.js:20:8)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/meteor/dist/bundle/programs/server/boot.js:1:75)
    at Module._compile (module.js:635:30)

I dont know why this is happening, i guess it is a problem with some packages but i dont know how to fix this.

Im using following packages:

},
  "devDependencies": {
    "@types/chai": "3.4.34",
    "@types/meteor": "^1.4.2",
    "@types/meteor-accounts-phone": "0.0.5",
    "@types/mocha": "2.2.34",
    "@types/underscore": "^1.8.1",
    "chai": "3.5.0",
    "chai-spies": "0.7.1",
    "meteor-node-stubs": "0.2.4",
    "node-sass": "^4.5.3",
    "raw-loader": "^0.5.1",
    "sass-loader": "^6.0.6"
  },
  "dependencies": {
    "@angular/animations": "^4.3.1",
    "@angular/common": "^2.4.1",
    "@angular/compiler": "^2.4.1",
    "@angular/compiler-cli": "^4.3.1",
    "@angular/core": "^2.4.10",
    "@angular/forms": "^2.4.1",
    "@angular/http": "^4.3.1",
    "@angular/platform-browser": "^2.4.1",
    "@angular/platform-browser-dynamic": "^2.4.1",
    "@angular/platform-server": "^4.3.1",
    "@angular/router": "3.4.1",
    "@angular/router-deprecated": "^2.0.0-rc.2",
    "@ionic/storage": "^2.0.1",
    "@types/lodash": "^4.14.72",
    "angular": "^1.6.5",
    "angular-date-value-accessor": "0.0.2",
    "angular-froala-wysiwyg": "^2.7.6",
    "angular2-meteor": "0.7.1",
    "angular2-meteor-polyfills": "^0.1.1",
    "angular2-meteor-tests-polyfills": "0.0.2",
    "babel-runtime": "^6.25.0",
    "bcrypt": "^1.0.3",
    "bootstrap": "^4.0.0-beta.2",
    "less": "^2.7.2",
    "lodash": "^4.17.4",
    "meteor-rxjs": "^0.4.7",
    "reflect-metadata": "^0.1.10",
    "rxjs": "^5.4.2",
    "zone.js": "^0.7.8"
  }

and

meteor-base@~1.1.0             # Packages every Meteor app needs to have
mongo@~1.2.3                   # The database Meteor supports right now
[email protected]           # Reactive variable for tracker
[email protected]                 # Meteor's client-side reactive programming library

[email protected]   # CSS minifier run for production mode
standard-minifier-js@~2.1.2    # JS minifier run for production mode
[email protected]                # ECMAScript 5 compatibility for older browsers.

[email protected]                # Allow all DB writes from clients (for prototyping)
angular2-compilers
practicalmeteor:mocha
xolvio:cleaner
hwillson:stub-collections
dispatch:mocha-phantomjs
shell-server@~0.2.4
mys:fonts
[email protected]
[email protected]
generalledger:sleepforms

[email protected]
accounts-base@~1.3.4
accounts-password@~1.4.0
accounts-google
alanning:roles
erasaur:meteor-lodash
meteorhacks:aggregate
froala:editor
service-configuration

Im using [email protected]

How can I diagnose this problem?

1

There are 1 best solutions below

0
Daniel On

In my case I had different:

  • node js version in system node --version
  • node js version of meteor meteor node --version
  • not set node js version in docker

How to fix:

  1. Set node version the same like in meteor
nvm use `meteor node --version`

I recommend using nvm.

  1. Create launchpad.conf with NODE_VERSION eg:
APT_GET_INSTALL="g++"

NODE_VERSION=12.18.4

and Dockerfile

FROM jshimko/meteor-launchpad:latest as build