Node.js error: Cannot find module './decimal128' - node.js

I have a simple REST API deployed in Heroku. It uses MongoDB as the document storage service for the endpoints. It fails to run properly ever since I ran npm install to add another module for a different set of features. It doesn't matter what I do at that point, until I replace the node_modules folder (locally) with an older version before the last time I ran npm install, and re-deploy.
2018-08-03T16:12:14.920647+00:00 heroku[web.1]: Starting process with command npm start
2018-08-03T16:12:18.405746+00:00 app[web.1]:
2018-08-03T16:12:18.405762+00:00 app[web.1]: > todolistapi#1.0.0 start /app
2018-08-03T16:12:18.405764+00:00 app[web.1]: > node server.js
2018-08-03T16:12:18.405766+00:00 app[web.1]:
2018-08-03T16:12:18.593093+00:00 app[web.1]: /app
2018-08-03T16:12:18.594629+00:00 app[web.1]: /app
2018-08-03T16:12:19.115500+00:00 app[web.1]: module.js:549
2018-08-03T16:12:19.115542+00:00 app[web.1]: throw err;
2018-08-03T16:12:19.115544+00:00 app[web.1]: ^
2018-08-03T16:12:19.115545+00:00 app[web.1]:
2018-08-03T16:12:19.115547+00:00 app[web.1]: Error: Cannot find module './decimal128'
2018-08-03T16:12:19.115550+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:547:15)
2018-08-03T16:12:19.115551+00:00 app[web.1]: at Function.Module._load (module.js:474:25)
2018-08-03T16:12:19.115553+00:00 app[web.1]: at Module.require (module.js:596:17)
2018-08-03T16:12:19.115554+00:00 app[web.1]: at require (internal/module.js:11:18)
2018-08-03T16:12:19.115556+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js:6:22)
2018-08-03T16:12:19.115558+00:00 app[web.1]: at Module._compile (module.js:652:30)
2018-08-03T16:12:19.115559+00:00 app[web.1]: at Object.Module._extensions..js (module.js:663:10)
2018-08-03T16:12:19.115561+00:00 app[web.1]: at Module.load (module.js:565:32)
2018-08-03T16:12:19.115562+00:00 app[web.1]: at tryModuleLoad (module.js:505:12)
2018-08-03T16:12:19.115564+00:00 app[web.1]: at Function.Module._load (module.js:497:3)
I read at least 10 other articles, and tried downgrading, reinstalling MongoDB with no success.

Issue: my local node_modules folders was being included in my push to Heroku. Once removed, the application runs fine on Heroku:
git rm -r --cached node_modules
git commit -m 'Remove the now ignored directory node_modules'
git push origin master

Related

Error: Cannot find module 'polka' on Heroku

I'm trying to deploy my sapper/svelte app to heroku but getting 'Error: Cannot find module 'polka'' this error. Interesting thing is that, it was perfectly fine and working. My package.json is correct and I am not checking my modules into git either. I tried disabling caching but it is no good. Anyone have any ideas?
2020-09-16T16:04:44.083385+00:00 app[web.1]: Error: Cannot find module 'polka'
2020-09-16T16:04:44.083386+00:00 app[web.1]: Require stack:
2020-09-16T16:04:44.083386+00:00 app[web.1]: - /app/__sapper__/build/server/server.js
2020-09-16T16:04:44.083386+00:00 app[web.1]: - /app/__sapper__/build/index.js
2020-09-16T16:04:44.083387+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
2020-09-16T16:04:44.083392+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:841:27)
2020-09-16T16:04:44.083392+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:1025:19)
2020-09-16T16:04:44.083393+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:72:18)
2020-09-16T16:04:44.083393+00:00 app[web.1]: at Object.<anonymous> (/app/__sapper__/build/server/server.js:4:13)
2020-09-16T16:04:44.083394+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1137:30)
2020-09-16T16:04:44.083394+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
2020-09-16T16:04:44.083394+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:985:32)
2020-09-16T16:04:44.083395+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:878:14)
2020-09-16T16:04:44.083395+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:1025:19) {
2020-09-16T16:04:44.083396+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2020-09-16T16:04:44.083396+00:00 app[web.1]: requireStack: [
2020-09-16T16:04:44.083397+00:00 app[web.1]: '/app/__sapper__/build/server/server.js',
2020-09-16T16:04:44.083397+00:00 app[web.1]: '/app/__sapper__/build/index.js'
2020-09-16T16:04:44.083397+00:00 app[web.1]: ]
2020-09-16T16:04:44.083398+00:00 app[web.1]: }
It turns out polka's version on my package.json was set to 'next'. So I changed it to it latest stable version and deleted package.lock.json file and ran 'npm install' to create a new lock file and then pushed it to heroku. Works perfectly fine.

Unable to install npm package from github from package.json on heroku

I am using a package from github which is to be install from package.json file. But when I deploy the app on heroku, It is not able to install the package.
In package.json, I tried using different methods as below,
"sqlike": "git+https://username:access-token#github.com/vijjuu/SQLike.git"
"sqlike": "https://github.com/vijju/SQLike#master"
"sqlike": "https://github.com/vijjuu/SQLike/tarball/master"
"sqlike": "vijjuu/SQLike"
Error: Cannot find module 'SQLike'
2019-06-14T18:26:48.223971+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
2019-06-14T18:26:48.223973+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:562:25)
2019-06-14T18:26:48.223975+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:690:17)
2019-06-14T18:26:48.223976+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:25:18)
2019-06-14T18:26:48.223977+00:00 app[web.1]: at Object. (/app/server.js:2:18)
2019-06-14T18:26:48.223979+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:776:30)
2019-06-14T18:26:48.223980+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
2019-06-14T18:26:48.223982+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:653:32)
2019-06-14T18:26:48.223983+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
2019-06-14T18:26:48.223985+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:585:3)
1) Your exporting your sql like but not importing it anywhere.
2) You don't have a server like ( node ) to run it on Heroku.

Heroku node.js keeps crashing because of node_modules?

This is the heroku logs
2017-12-13T16:08:29.000000+00:00 app[api]: Build succeeded
2017-12-13T16:08:46.328161+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2017-12-13T16:08:46.498068+00:00 heroku[web.1]: Process exited with status 143
2017-12-13T16:08:53.490378+00:00 app[web.1]: module.js:538
2017-12-13T16:08:53.490391+00:00 app[web.1]: throw err;
2017-12-13T16:08:53.490391+00:00 app[web.1]: ^
2017-12-13T16:08:53.490392+00:00 app[web.1]:
2017-12-13T16:08:53.490392+00:00 app[web.1]: Error: Cannot find module './decimal128'
2017-12-13T16:08:53.490393+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:536:15)
2017-12-13T16:08:53.490394+00:00 app[web.1]: at Function.Module._load (module.js:466:25)
2017-12-13T16:08:53.490394+00:00 app[web.1]: at Module.require (module.js:579:17)
2017-12-13T16:08:53.490395+00:00 app[web.1]: at require (internal/module.js:11:18)
2017-12-13T16:08:53.490395+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js:6:22)
2017-12-13T16:08:53.490396+00:00 app[web.1]: at Module._compile (module.js:635:30)
2017-12-13T16:08:53.490396+00:00 app[web.1]: at Object.Module._extensions..js (module.js:646:10)
2017-12-13T16:08:53.490397+00:00 app[web.1]: at Module.load (module.js:554:32)
2017-12-13T16:08:53.490397+00:00 app[web.1]: at tryModuleLoad (module.js:497:12)
2017-12-13T16:08:53.490398+00:00 app[web.1]: at Function.Module._load (module.js:489:3)
2017-12-13T16:08:53.582814+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-13T16:08:53.555998+00:00 heroku[web.1]: Process exited with status 1
2017-12-13T16:08:51.503070+00:00 heroku[web.1]: Starting process with command `node app.js`
2017-12-13T16:10:20.313936+00:00 heroku[web.1]: State changed from crashed to starting
2017-12-13T16:10:23.590155+00:00 heroku[web.1]: Starting process with command `node app.js`
2017-12-13T16:10:26.548414+00:00 heroku[web.1]: Process exited with status 1
2017-12-13T16:10:26.463026+00:00 app[web.1]: module.js:538
2017-12-13T16:10:26.463042+00:00 app[web.1]: throw err;
2017-12-13T16:10:26.463042+00:00 app[web.1]: ^
2017-12-13T16:10:26.463043+00:00 app[web.1]:
2017-12-13T16:10:26.463044+00:00 app[web.1]: Error: Cannot find module './decimal128'
2017-12-13T16:10:26.463045+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:536:15)
2017-12-13T16:10:26.463045+00:00 app[web.1]: at Function.Module._load (module.js:466:25)
2017-12-13T16:10:26.463046+00:00 app[web.1]: at Module.require (module.js:579:17)
2017-12-13T16:10:26.463046+00:00 app[web.1]: at require (internal/module.js:11:18)
2017-12-13T16:10:26.463047+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js:6:22)
2017-12-13T16:10:26.463048+00:00 app[web.1]: at Module._compile (module.js:635:30)
2017-12-13T16:10:26.463048+00:00 app[web.1]: at Object.Module._extensions..js (module.js:646:10)
2017-12-13T16:10:26.463049+00:00 app[web.1]: at Module.load (module.js:554:32)
2017-12-13T16:10:26.463050+00:00 app[web.1]: at tryModuleLoad (module.js:497:12)
2017-12-13T16:10:26.463050+00:00 app[web.1]: at Function.Module._load (module.js:489:3)
2017-12-13T16:10:26.576992+00:00 heroku[web.1]: State changed from starting to crashed
Via trial and error and using the heroku rollback it seems that the problem isn't in my app.js file but in the node_modules. However I can't seem to find a fix. I've tried reinstalling the node_modules.
It works locally but not when I deploy it on Heroku.
also suddenly I have a package-lock.json file. perhaps thats is a clue?
It's complaining about the decimal128 module, I would double check the relative path to the module from the file that is requiring it. Looks like right now it's looking for it in the same folder as the file "/decimal128".
I fixed it myself by going through everything updating everything and downgrading mongodb to "mongodb": "2.2.33"

Heroku Cannot Find Module (Model File)

I am getting a model import error in my Node.js application when deploying to Heroku.
2016-02-10T20:40:04.712617+00:00 app[web.1]: > node ./bin/www
2016-02-10T20:40:04.712615+00:00 app[web.1]: > comic#0.0.0 start /app
2016-02-10T20:40:05.770633+00:00 app[web.1]: throw err;
2016-02-10T20:40:05.770629+00:00 app[web.1]: module.js:341
2016-02-10T20:40:05.770637+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:339:15)
2016-02-10T20:40:05.770636+00:00 app[web.1]: Error: Cannot find module '../models/Comic'
2016-02-10T20:40:05.770638+00:00 app[web.1]: at Module.require (module.js:367:17)
2016-02-10T20:40:05.770634+00:00 app[web.1]: ^
2016-02-10T20:40:05.770640+00:00 app[web.1]: at Module._compile (module.js:413:34)
2016-02-10T20:40:05.770641+00:00 app[web.1]: at Object.Module._extensions..js (module.js:422:10)
2016-02-10T20:40:05.770639+00:00 app[web.1]: at require (internal/module.js:16:19)
2016-02-10T20:40:05.770642+00:00 app[web.1]: at Module.load (module.js:357:32)
2016-02-10T20:40:05.770637+00:00 app[web.1]: at Function.Module._load (module.js:290:25)
2016-02-10T20:40:05.770640+00:00 app[web.1]: at Object.<anonymous> (/app/routes/create.js:2:13)
2016-02-10T20:40:05.770643+00:00 app[web.1]: at Module.require (module.js:367:17)
2016-02-10T20:40:05.770642+00:00 app[web.1]: at Function.Module._load (module.js:314:12)
2016-02-10T20:40:05.804819+00:00 app[web.1]:
I have tried doing heroku run bash and running require('./models/Comic') from node session in app and require('../models/Comic') from within a subdirectory of /app/routes/ to test that require works.
The only instances of the require for Comic are in the three routes within the routes folder. They all have the exact same var myVar = require('../models/Comic');.
I figured out that heroku:
a) Takes the info from Git. Even though I had made case changes in my local files and pushed to Git, the case wasn't changed. Then when the file was required on heroku which uses Linux, it could not find the file.
b) Only changing the name of the file from heroku run bash didn't seem to have any affect. I am assuming I wasn't doing some sort of deployment step or that I needed to do something extra (I tried heroku restart but no dice).
Hope this can help someone else.

"Error: Cannot find module 'pkginfo'" - node js app deploying to heroku

I'm getting the following error when attempting to deploy my node.js app to Heroku for the first time:
Application loaded using the "production" environment configuration
2014-08-28T01:02:56.823904+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15)
2014-08-28T01:02:56.823906+00:00 app[web.1]: at Function.Module._load (module.js:280:25)
2014-08-28T01:02:56.823900+00:00 app[web.1]: Error: Cannot find module 'pkginfo'
2014-08-28T01:02:56.817349+00:00 app[web.1]: ^
2014-08-28T01:02:56.823915+00:00 app[web.1]: at Object.Module._extensions..js (module.js:474:10)
2014-08-28T01:02:56.823908+00:00 app[web.1]: at Module.require (module.js:364:17)
2014-08-28T01:02:56.823910+00:00 app[web.1]: at require (module.js:380:17)
2014-08-28T01:02:56.823912+00:00 app[web.1]: at Object. (/app/node_modules/passport-google-oauth/node_modules/passport-oauth/node_modules/passport/lib/passport/index.js:440:1)
2014-08-28T01:02:56.823913+00:00 app[web.1]: at Module._compile (module.js:456:26)
2014-08-28T01:02:56.823918+00:00 app[web.1]: at Function.Module._load (module.js:312:12)
2014-08-28T01:02:56.814921+00:00 app[web.1]:
2014-08-28T01:02:56.838954+00:00 app[web.1]: error: Forever detected script exited with code: 8
2014-08-28T01:02:56.815953+00:00 app[web.1]: throw err;
2014-08-28T01:02:56.823920+00:00 app[web.1]: at Module.require (module.js:364:17)
2014-08-28T01:02:56.823917+00:00 app[web.1]: at Module.load (module.js:356:32)
2014-08-28T01:02:56.815545+00:00 app[web.1]: module.js:340
I've followed all of the steps from Heroku's website for deploying node, but have been stuck on fixing this above error. I can successfully do "foreman start" on my local computer. At first, after doing "foreman start", I got the same error "Cannot find module 'pkginfo', so i installed pkginfo on my local computer and then foreman start worked and i could launch my app on localhost:5000 without any problems. However, still stuck on fixing this error on Heroku's server. Any help?
Thanks!
Jason
What you need to do is install the package in your production environment
1.Go into your main app directory
cd appDirectory
2.Install the module
npm install pkginfo
3.Re-deploy

Resources