Cannot find module 'fibers/Future' while startingup in cloudfoundry

So I followed most steps described here to deploy my app(meteor 1.8) to cloudfoundry(using node.js buildpack) several months back, and it all worked fine…

But yesterday, after some code revised, the deployment(when booting the app in server) failed reporting - cannot find module ‘fiber/Future’…

Googled around - tried npm install --production, but not helping…

Environment detail -

  • meteor: 1.9.2
  • node: 12.16.1
  • cloudfoundry node.js buildpack: 1.7.13

Error detail -

2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR /home/vcap/app/bundle/programs/server/node_modules/fibers/future.js:280
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR throw(ex);
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR ^
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR Error: Cannot find module ‘/home/vcap/app/bundle/programs/server/node_modules/fibers/Future’
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR Require stack:
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR - /home/vcap/app/bundle/programs/server/boot.js
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR - /home/vcap/app/bundle/main.js
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR - /home/vcap/app/launcher.js
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Function.Module._resolveFilename (internal/modules/cjs/loader.js:982:15)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Function.Module._load (internal/modules/cjs/loader.js:864:27)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Module.require (internal/modules/cjs/loader.js:1044:19)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at require (internal/modules/cjs/helpers.js:77:18)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Object.require (/home/vcap/app/bundle/programs/server/boot.js:282:22)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at makeInstallerOptions.fallback (packages/modules-runtime.js:618:18)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Module.require (packages/modules-runtime.js:244:14)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Module.moduleLink [as link] (/home/vcap/app/bundle/programs/server/npm/node_modules/meteor/modules/node_modules/reify/lib/runtime/index.js:52:22)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at module (server/methods/validate-token.js:1:83)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at fileEvaluate (packages/modules-runtime.js:336:7)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Module.require (packages/modules-runtime.js:238:14)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at require (packages/modules-runtime.js:258:21)
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at /home/vcap/app/bundle/programs/server/app/app.js:921:1
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at /home/vcap/app/bundle/programs/server/boot.js:398:38
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at Array.forEach ()
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR at /home/vcap/app/bundle/programs/server/boot.js:226:21 {
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR code: ‘MODULE_NOT_FOUND’,
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR requireStack: [
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR ‘/home/vcap/app/bundle/programs/server/boot.js’,
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR ‘/home/vcap/app/bundle/main.js’,
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR ‘/home/vcap/app/launcher.js’
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR ]
2020-02-26T00:25:56.77+0800 [APP/PROC/WEB/0] ERR }

Am getting quite desperate, any suggestions would be highly welcomed! Thanks!

So, for future reference - problem resolved -
It turns out I’ve got a commit several months back which was not deployed,

In that commit, I replaced

let Future = require('fibers/future');

with

import Future from 'fibers/future';

I guess that’s why the error in deployment. As this actually works in my local, any suggestions why import would not work remotely? Thanks!

1 Like