Heroku Cannot Find Module (Model File) - node.js

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.

Related

heroku opencv4nodejs error in deployement

Error in deployment. How to solve this?
2020-11-08T09:30:21.366810+00:00 app[web.1]: Error: libopencv_core.so.3.4: cannot open shared object file: No such file or directory
2020-11-08T09:30:21.366811+00:00 app[web.1]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:1003:18)
2020-11-08T09:30:21.366812+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:812:32)
2020-11-08T09:30:21.366812+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:724:14)
2020-11-08T09:30:21.366812+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:849:19)
2020-11-08T09:30:21.366813+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2020-11-08T09:30:21.366813+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/opencv4nodejs/lib/cv.js:40:8)
2020-11-08T09:30:21.366813+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:956:30)
2020-11-08T09:30:21.366814+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
2020-11-08T09:30:21.366814+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:812:32)
2020-11-08T09:30:21.366814+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:724:14)
2020-11-08T09:30:21.366814+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:849:19)
2020-11-08T09:30:21.366815+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2020-11-08T09:30:21.366815+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/opencv4nodejs/lib/opencv4nodejs.js:11:79)
2020-11-08T09:30:21.366815+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:956:30)
2020-11-08T09:30:21.366816+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
2020-11-08T09:30:21.366816+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:812:32)
The app crashes everytime showing this error. How to fix this?
Follow the below steps in order to use Open CV inside Heroku
Add heroku-buildpack-apt to your Heroku Build packs. You can go to your app's settings page and add build packs.
Create a file named Aptfile and add the following libs: libsm6, libxrender1, libfontconfig1, libice6. Follow the example below:
libsm6
libxrender1
libfontconfig1
libice6

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.

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

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

"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