missing module when deploy nodejs application to heroku - node.js

When I tried to deploy my app to heroku, I kept getting this error in the log
2022-05-20T14:49:35.602605+00:00 app[web.1]: > node server.js
2022-05-20T14:49:35.602605+00:00 app[web.1]:
2022-05-20T14:49:35.719423+00:00 app[web.1]: node:internal/modules/cjs/loader:936
2022-05-20T14:49:35.719424+00:00 app[web.1]: throw err;
2022-05-20T14:49:35.719425+00:00 app[web.1]: ^
2022-05-20T14:49:35.719428+00:00 app[web.1]:
2022-05-20T14:49:35.719428+00:00 app[web.1]: Error: Cannot find module 'csv-parse'
2022-05-20T14:49:35.719428+00:00 app[web.1]: Require stack:
2022-05-20T14:49:35.719429+00:00 app[web.1]: - /app/server.js
2022-05-20T14:49:35.719430+00:00 app[web.1]: at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
2022-05-20T14:49:35.719431+00:00 app[web.1]: at Function.Module._load (node:internal/modules/cjs/loader:778:27)
2022-05-20T14:49:35.719431+00:00 app[web.1]: at Module.require (node:internal/modules/cjs/loader:1005:19)
2022-05-20T14:49:35.719431+00:00 app[web.1]: at require (node:internal/modules/cjs/helpers:102:18)
2022-05-20T14:49:35.719432+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:6:15)
2022-05-20T14:49:35.719432+00:00 app[web.1]: at Module._compile (node:internal/modules/cjs/loader:1105:14)
2022-05-20T14:49:35.719432+00:00 app[web.1]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
2022-05-20T15:08:40.259973+00:00 app[web.1]: Error: Cannot find module 'express'
2022-05-20T15:08:40.259974+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:536:15)
2022-05-20T15:08:40.259974+00:00 app[web.1]: at Function.Module._load (module.js:466:25)
2022-05-20T15:08:40.259974+00:00 app[web.1]: at Module.require (module.js:579:17)
2022-05-20T15:08:40.259974+00:00 app[web.1]: at require (internal/module.js:11:18)
2022-05-20T15:08:40.259975+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:5:17)
2022-05-20T15:08:40.259975+00:00 app[web.1]: at Module._compile (module.js:635:30)
2022-05-20T15:08:40.259975+00:00 app[web.1]: at Object.Module._extensions..js (module.js:646:10)
2022-05-20T15:08:40.259975+00:00 app[web.1]: at Module.load (module.js:554:32)
2022-05-20T15:08:40.259976+00:00 app[web.1]: at tryModuleLoad (module.js:497:12)
I am pretty sure the node.js application can successfully run locally and I have installed all the necessary packages in dependencies inside package.json. Not sure how to fix it....
Here is my package.json
{
"name": "Netflix User Study Framework",
"version": "1.0.0",
"description": "Encode username into prolific id",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"engines": {
"node": "8.9.3"
},
"repository": {
"type": "git",
"url": "git+https://github.com/amyhua/basic-website-template-node.git"
},
"author": "YOUR NAME GOES HERE",
"bugs": {
"url": "https://github.com/amyhua/basic-website-template-node/issues"
},
"homepage": "https://github.com/amyhua/basic-website-template-node#readme",
"dependencies": {
"aws-sdk": "^2.1139.0",
"csv-parser": "^3.0.0",
"csv-stringify": "^6.0.5",
"express": "^4.14.0",
"generate-unique-id": "^2.0.1",
"http": "0.0.0",
"multer": "^1.4.4",
"nodemon": "^1.11.0",
"os": "^0.1.2"
}
}
Also, I set up a .env file with PORT # on 3000.

Related

Heroku Error: Cannot find module './common'

I was trying to deploy a practice project to Heroku and it gets deployed. However there is a application error, which is preventing the app to run on the server. I got some details about the errors, after running heroku logs.
2022-03-07T01:25:09.883329+00:00 app[web.1]: node:internal/modules/cjs/loader:936
2022-03-07T01:25:09.883379+00:00 app[web.1]: throw err;
2022-03-07T01:25:09.883379+00:00 app[web.1]: ^
2022-03-07T01:25:09.883379+00:00 app[web.1]:
2022-03-07T01:25:09.883380+00:00 app[web.1]: Error: Cannot find module './common'
2022-03-07T01:25:09.883380+00:00 app[web.1]: Require stack:
2022-03-07T01:25:09.883380+00:00 app[web.1]: - /app/node_modules/debug/src/node.js
2022-03-07T01:25:09.883381+00:00 app[web.1]: - /app/node_modules/debug/src/index.js
2022-03-07T01:25:09.883381+00:00 app[web.1]: - /app/node_modules/mquery/lib/mquery.js
2022-03-07T01:25:09.883382+00:00 app[web.1]: - /app/node_modules/mongoose/lib/promise_provider.js
2022-03-07T01:25:09.883382+00:00 app[web.1]: - /app/node_modules/mongoose/lib/helpers/promiseOrCallback.js
2022-03-07T01:25:09.883382+00:00 app[web.1]: - /app/node_modules/mongoose/lib/utils.js
2022-03-07T01:25:09.883382+00:00 app[web.1]: - /app/node_modules/mongoose/lib/statemachine.js
2022-03-07T01:25:09.883383+00:00 app[web.1]: - /app/node_modules/mongoose/lib/internal.js
2022-03-07T01:25:09.883383+00:00 app[web.1]: - /app/node_modules/mongoose/lib/document.js
2022-03-07T01:25:09.883383+00:00 app[web.1]: - /app/node_modules/mongoose/lib/index.js
2022-03-07T01:25:09.883383+00:00 app[web.1]: - /app/node_modules/mongoose/index.js
2022-03-07T01:25:09.883386+00:00 app[web.1]: - /app/db/connect.js
2022-03-07T01:25:09.883386+00:00 app[web.1]: - /app/app.js
2022-03-07T01:25:09.883387+00:00 app[web.1]: at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
2022-03-07T01:25:09.883387+00:00 app[web.1]: at Function.Module._load (node:internal/modules/cjs/loader:778:27)
2022-03-07T01:25:09.883388+00:00 app[web.1]: at Module.require (node:internal/modules/cjs/loader:1005:19)
2022-03-07T01:25:09.883388+00:00 app[web.1]: at require (node:internal/modules/cjs/helpers:102:18)
2022-03-07T01:25:09.883388+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/debug/src/node.js:240:18)
2022-03-07T01:25:09.883389+00:00 app[web.1]: at Module._compile (node:internal/modules/cjs/loader:1103:14)
2022-03-07T01:25:09.883389+00:00 app[web.1]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1155:10)
2022-03-07T01:25:09.883389+00:00 app[web.1]: at Module.load (node:internal/modules/cjs/loader:981:32)
2022-03-07T01:25:09.883390+00:00 app[web.1]: at Function.Module._load (node:internal/modules/cjs/loader:822:12)
2022-03-07T01:25:09.883390+00:00 app[web.1]: at Module.require (node:internal/modules/cjs/loader:1005:19) {
2022-03-07T01:25:09.883390+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2022-03-07T01:25:09.883390+00:00 app[web.1]: requireStack: [
2022-03-07T01:25:09.883391+00:00 app[web.1]: '/app/node_modules/debug/src/node.js',
2022-03-07T01:25:09.883391+00:00 app[web.1]: '/app/node_modules/debug/src/index.js',
2022-03-07T01:25:09.883391+00:00 app[web.1]: '/app/node_modules/mquery/lib/mquery.js',
2022-03-07T01:25:09.883392+00:00 app[web.1]: '/app/node_modules/mongoose/lib/promise_provider.js',
2022-03-07T01:25:09.883392+00:00 app[web.1]: '/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js',
2022-03-07T01:25:09.883393+00:00 app[web.1]: '/app/node_modules/mongoose/lib/utils.js',
2022-03-07T01:25:09.883393+00:00 app[web.1]: '/app/node_modules/mongoose/lib/statemachine.js',
2022-03-07T01:25:09.883393+00:00 app[web.1]: '/app/node_modules/mongoose/lib/internal.js',
2022-03-07T01:25:09.883393+00:00 app[web.1]: '/app/node_modules/mongoose/lib/document.js',
2022-03-07T01:25:09.883394+00:00 app[web.1]: '/app/node_modules/mongoose/lib/index.js',
2022-03-07T01:25:09.883394+00:00 app[web.1]: '/app/node_modules/mongoose/index.js',
2022-03-07T01:25:09.883394+00:00 app[web.1]: '/app/db/connect.js',
2022-03-07T01:25:09.883394+00:00 app[web.1]: '/app/app.js'
2022-03-07T01:25:09.883394+00:00 app[web.1]: ]
2022-03-07T01:25:09.883395+00:00 app[web.1]: }
2022-03-07T01:25:10.033008+00:00 heroku[web.1]: Process exited with status 1
2022-03-07T01:25:10.264584+00:00 heroku[web.1]: State changed from starting to crashed
I have installed the common package separately using npm install common --save, but that did not solve the issue. Also deleted node_modules and reinstalled all the modules. However nothing seems to work. I've scoured the internet for an answer to this, and haven't found anything yet that works.
My package.json looks like this,
{
"name": "starter-again",
"version": "1.0.0",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"dotenv": "^16.0.0",
"nodemon": "^2.0.15"
},
"dependencies": {
"common": "^0.2.5",
"debug": "^4.3.3",
"express": "^4.17.3",
"mongoose": "^6.2.4"
},
"engines": {
"node": "16.14.0"
},
}
Any suggestion on how to solve this error?
I solved this by not having node_modules in my .gitignore folder which was there originally.

node index.js not working like error express

ok so here is what i got on cli
anyone how to fix this
i have tried
npm cache clean but its not working
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module 'express'
Require stack:
- C:\Users\iftkh\Backend\index.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:\Users\iftkh\Backend\index.js:1:17)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'C:\\Users\\iftkh\\Backend\\index.js' ]
I think you should install express correctly, or maybe didn't required it
could someone solve the problem? Have similar one and can't understand it why!
everything is installed.
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.18.1",
"mysql": "^2.18.1"
}
}

Unable to find module cors in heroku

I am running a React/NodeJS project on Heroku. My first time installing a project on Heroku. The deployment ran fine, but then I get the following error:
> ProductInventoryApp#1.0.0 start /app
2020-01-12T04:55:41.635051+00:00 app[web.1]: > node ./backend/app.js
2020-01-12T04:55:41.635053+00:00 app[web.1]:
2020-01-12T04:55:42.404864+00:00 app[web.1]: internal/modules/cjs/loader.js:800
2020-01-12T04:55:42.404909+00:00 app[web.1]: throw err;
2020-01-12T04:55:42.404911+00:00 app[web.1]: ^
2020-01-12T04:55:42.404913+00:00 app[web.1]:
2020-01-12T04:55:42.404916+00:00 app[web.1]: Error: Cannot find module 'CORS'
2020-01-12T04:55:42.404918+00:00 app[web.1]: Require stack:
2020-01-12T04:55:42.404921+00:00 app[web.1]: - /app/backend/app.js
2020-01-12T04:55:42.404923+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
2020-01-12T04:55:42.404925+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:690:27)
2020-01-12T04:55:42.404927+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:852:19)
2020-01-12T04:55:42.404929+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2020-01-12T04:55:42.404931+00:00 app[web.1]: at Object.<anonymous> (/app/backend/app.js:5:12)
2020-01-12T04:55:42.404933+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:959:30)
2020-01-12T04:55:42.404935+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
2020-01-12T04:55:42.404937+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:815:32)
2020-01-12T04:55:42.404939+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:727:14)
2020-01-12T04:55:42.404941+00:00 app[web.1]: at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
2020-01-12T04:55:42.404943+00:00 app[web.1]: at internal/main/run_main_module.js:17:11 {
2020-01-12T04:55:42.404945+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2020-01-12T04:55:42.404946+00:00 app[web.1]: requireStack: [ '/app/backend/app.js' ]
2020-01-12T04:55:42.404948+00:00 app[web.1]: }
2020-01-12T04:55:42.427634+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2020-01-12T04:55:42.428331+00:00 app[web.1]: npm ERR! errno 1
2020-01-12T04:55:42.430180+00:00 app[web.1]: npm ERR! ProductInventoryApp#1.0.0 start: `node ./backend/app.js`
2020-01-12T04:55:42.430622+00:00 app[web.1]: npm ERR! Exit status 1
The cors has been included in my dependencies. So not sure where the problem lies.
package.json for nodeJS
{
"name": "ProductInventoryApp",
"version": "1.0.0",
"description": "",
"engines": {
"node": "12.13.1"
},
"main": "./backend/app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./backend/app.js",
"client-install": "npm install --prefix client",
"server": "nodemon ./backend/app.js",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\""
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"express-validator": "^6.3.0",
"mongodb": "^3.4.0",
"mongoose": "^5.8.0",
"uuid": "^3.3.3"
},
"devDependencies": {
"concurrently": "^4.0.1",
"cors": "^2.8.5"
}
}
You need move cors package from devDependencies into dependencies. This is because heroku runs your node app in production mode, devDependencies are not installed in production mode.

NodeJS: Module did not self-register

I am trying IBM Watson's Speech to Text API. While running my NodeJS app I get this.
I am using line-in package for streaming the input audio data in output, in addition to IBM Watson's SpeechToText package.
I tried removing node_modules and $ npm install and $ npm rebuild. Nothing worked.
node app.js
internal/modules/cjs/loader.js:718
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: Module did not self-register.
at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (F:\Topgear\SpeechToText\node_modules\line-in\index.js:2:20)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)```
package.json
{
"name": "SpeechToText",
"version": "1.0.0",
"description": "",
"main": "app.js",
"dependencies": {
"dotenv": "^8.0.0",
"line-in": "^0.1.2",
"watson-developer-cloud": "^4.0.1"
},
"devDependencies": {},
"scripts": {
"test": "mocha"
},
"keywords": [],
"author": "Nikhilesh AS",
"license": "ISC"
}

Openshift node app failed to start

I am failing to start my node-based application on Openshift. The application starts OK locally but node's automatic deployment (on push to the remote master repo) hits a cyclic problem with the log;
DEBUG: Running node-supervisor with
DEBUG: program './app/server.js'
DEBUG: --watch '/var/lib/openshift/53dab282e0b8cdd367000131/app-root/data/.nodewatch'
DEBUG: --ignore 'undefined'
DEBUG: --extensions 'node|js|coffee'
DEBUG: --exec 'node'
DEBUG: Starting child process with 'node ./app/server.js'
DEBUG: Watching directory '/var/lib/openshift/53dab282e0b8cdd367000131/app-root/data/.nodewatch' for changes.
module.js:340
throw err;
^
Error: Cannot find module 'underscore.string'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/lib/openshift/53dab282e0b8cdd367000131/app-root/runtime/repo/node_modules/sequelize/lib/utils.js:5:26)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
DEBUG: Program node ./app/server.js exited with code 8
DEBUG: Starting child process with 'node ./app/server.js'
module.js:340
throw err;
^
Error: Cannot find module 'underscore.string'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/lib/openshift/53dab282e0b8cdd367000131/app-root/runtime/repo/node_modules/sequelize/lib/utils.js:5:26)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
DEBUG: Program node ./app/server.js exited with code 8
...this loop continues indefinitely, the app reports "Started" but clearly it's failed to initialize sequelize.js.
I'm a bit lost and loosing the faith in Openshift hosting at this point. I think this might be the last straw. Any advice?
Here is my app's package.json;
{
"name": "OceanLife-API",
"version": "1.1.0",
"description": "OceanLife API",
"keywords": [
"OceanLife",
"API",
"tide",
"swell",
"weather"
],
"author": {
"name": "David Branton",
"email": "oceanlife.development#gmail.com",
"url": "http://oceanlifeapi-brantapps.rhcloud.com/"
},
"homepage": "http://oceanlifeapi-brantapps.rhcloud.com/",
"repository": {
"type": "git",
"url": "https://github.com/openshift/origin-server"
},
"engines": {
"node": ">= 0.10.25",
"npm": ">= 1.3.24"
},
"dependencies": {
"express": "~3.4.8",
"sleep": "~1.1.8",
"aglio": "~1.14.0",
"sequelize": "~1.7.10",
"lodash": "~2.4.1",
"mysql": "~2.4.3",
"cheerio": "~0.17.0",
"moment": "~2.9.0",
"moment-timezone": "~0.2.5",
"tzwhere": "~1.0.0",
"line-reader": "~0.2.4"
},
"scripts": {
"lint": "./node_modules/.bin/jshint app/**/*.js",
"pretest": "npm run-script lint",
"test": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec"
},
"devDependencies": {
"istanbul": "~0.3.5",
"rewire": "~2.1.3",
"sinon": "~1.12.2",
"mocha": "~2.1.0",
"nock": "~0.57.0",
"dredd": "~0.3.14",
"jshint": "~2.5.11"
},
"bundleDependencies": [],
"private": true,
"main": "./app/server.js"
}
I've come back to this recently and have managed to get it working by using the community built Node v0.12 cartridge. If you are having similar issues I'd recommend ditching the "official" Node v0.1 app cartridge and trying again.
Sweet - free hosting of my node app! :D

Resources