SyntaxError: Unexpected token - node.js

I am trying to deploy my code on heroku and it give me Error.
Provide me the solution.
It show unexpected token ... which i cannot resolve.
i am using mongo atlas online database link to connect to database.
For more clearity i am adding my git repository
github.com/laxitnahar/temp
ERROR:-
2022-08-05T11:57:48.831721+00:00 heroku[web.1]: State changed from crashed to starting
2022-08-05T11:57:51.114009+00:00 heroku[web.1]: Starting process with command `npm start`
2022-08-05T11:57:52.585567+00:00 app[web.1]:
2022-08-05T11:57:52.585595+00:00 app[web.1]: > backend#1.0.0 start /app
2022-08-05T11:57:52.585596+00:00 app[web.1]: > node server.js
2022-08-05T11:57:52.585596+00:00 app[web.1]:
2022-08-05T11:57:52.809406+00:00 app[web.1]: /app/node_modules/connect-mongo/build/main/lib/MongoStore.js:75
2022-08-05T11:57:52.809420+00:00 app[web.1]: constructor({ collectionName = 'sessions', ttl = 1209600, mongoOptions = {}, autoRemove = 'native', autoRemoveInterval = 10, touchAfter = 0, stringify = true, crypto, ...required }) {
2022-08-05T11:57:52.809423+00:00 app[web.1]: ^^^
2022-08-05T11:57:52.809423+00:00 app[web.1]: SyntaxError: Unexpected token ...
2022-08-05T11:57:52.809423+00:00 app[web.1]: at createScript (vm.js:56:10)
2022-08-05T11:57:52.809423+00:00 app[web.1]: at Object.runInThisContext (vm.js:97:10)
2022-08-05T11:57:52.809424+00:00 app[web.1]: at Module._compile (module.js:542:28)
2022-08-05T11:57:52.809424+00:00 app[web.1]: at Object.Module._extensions..js (module.js:579:10)
2022-08-05T11:57:52.809424+00:00 app[web.1]: at Module.load (module.js:487:32)
2022-08-05T11:57:52.809424+00:00 app[web.1]: at tryModuleLoad (module.js:446:12)
2022-08-05T11:57:52.809425+00:00 app[web.1]: at Function.Module._load (module.js:438:3)
2022-08-05T11:57:52.809425+00:00 app[web.1]: at Module.require (module.js:497:17)
2022-08-05T11:57:52.809425+00:00 app[web.1]: at require (internal/module.js:20:19)
2022-08-05T11:57:52.815363+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/connect-mongo/build/main/index.js:5:38)
2022-08-05T11:57:52.822611+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2022-08-05T11:57:52.822966+00:00 app[web.1]: npm ERR! errno 1
2022-08-05T11:57:52.826142+00:00 app[web.1]: npm ERR! backend#1.0.0 start: `node server.js`
2022-08-05T11:57:52.826182+00:00 app[web.1]: npm ERR! Exit status 1
2022-08-05T11:57:52.826329+00:00 app[web.1]: npm ERR!
2022-08-05T11:57:52.826388+00:00 app[web.1]: npm ERR! Failed at the backend#1.0.0 start script.
2022-08-05T11:57:52.826457+00:00 app[web.1]: npm ERR! This is probably not a problem with npm```
MongoStore.js
```class MongoStore extends session.Store {
constructor({ collectionName = 'sessions', ttl = 1209600, mongoOptions = {}, autoRemove = 'native', autoRemoveInterval = 10, touchAfter = 0, stringify = true, crypto, ...required }) {
super();
this.crypto = null;
debug('create MongoStore instance');
const options = {
collectionName,
ttl,
mongoOptions,
autoRemove,
autoRemoveInterval,
touchAfter,
stringify,
crypto: {
...{
secret: false,
algorithm: 'aes-256-gcm',
hashing: 'sha512',
encodeas: 'base64',
key_size: 32,
iv_size: 16,
at_size: 16,
},
...crypto,
},
...required,
};```

I think It's because you forgot to write two curly brackets } at the end of your program.
This kind of errors usually happens when you forgot to write a bracket or curly brackets.

Related

can't get heroku to find my custom module in node.js

I'm developing an API in node.js that's deployed to heroku, that uses a custom module to fetch weather information from another API.
Here is the App Tree
Here is my app.js
const data_lluvias = require('./data_lluvias');
...
app.post('/aguas_lluvia', (req, res) => {
let data = data_lluvias.getDataLluvias;
res.json(data);
});
app.listen(port, () => {
console.log('Server running');
});
This is the weather module
const url = 'https://climatologia.meteochile.gob.cl/application/productos/boletinClimatologicoDiario';
const getDataLluvias = async () => {
const response = await fetch(url, {
method: "GET",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
},
});
const data = response.json();
return data;
};
module.exports = {
getDataLluvias
};
I can't get heroku to find the module that is in the same folder that my app.js file
Here's the console log
2022-07-16T02:56:32.844556+00:00 heroku[web.1]: State changed from crashed to starting
2022-07-16T02:56:34.518501+00:00 heroku[web.1]: Starting process with command `npm start`
2022-07-16T02:56:36.166569+00:00 app[web.1]:
2022-07-16T02:56:36.166608+00:00 app[web.1]: > conectamilk-npurin#1.0.0 start
2022-07-16T02:56:36.166610+00:00 app[web.1]: > node app.js
2022-07-16T02:56:36.166610+00:00 app[web.1]:
2022-07-16T02:56:36.324024+00:00 app[web.1]: node:internal/modules/cjs/loader:936
2022-07-16T02:56:36.324025+00:00 app[web.1]: throw err;
2022-07-16T02:56:36.324026+00:00 app[web.1]: ^
2022-07-16T02:56:36.324026+00:00 app[web.1]:
2022-07-16T02:56:36.324026+00:00 app[web.1]: Error: Cannot find module './data_lluvias'
2022-07-16T02:56:36.324027+00:00 app[web.1]: Require stack:
2022-07-16T02:56:36.324027+00:00 app[web.1]: - /app/app.js
2022-07-16T02:56:36.324042+00:00 app[web.1]: at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
2022-07-16T02:56:36.324044+00:00 app[web.1]: at Function.Module._load (node:internal/modules/cjs/loader:778:27)
2022-07-16T02:56:36.324044+00:00 app[web.1]: at Module.require (node:internal/modules/cjs/loader:1005:19)
2022-07-16T02:56:36.324044+00:00 app[web.1]: at require (node:internal/modules/cjs/helpers:102:18)
2022-07-16T02:56:36.324045+00:00 app[web.1]: at Object.<anonymous> (/app/app.js:6:22)
2022-07-16T02:56:36.324045+00:00 app[web.1]: at Module._compile (node:internal/modules/cjs/loader:1105:14)
2022-07-16T02:56:36.324045+00:00 app[web.1]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
2022-07-16T02:56:36.324046+00:00 app[web.1]: at Module.load (node:internal/modules/cjs/loader:981:32)
2022-07-16T02:56:36.324046+00:00 app[web.1]: at Function.Module._load (node:internal/modules/cjs/loader:822:12)
2022-07-16T02:56:36.324046+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) {
2022-07-16T02:56:36.324047+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2022-07-16T02:56:36.324047+00:00 app[web.1]: requireStack: [ '/app/app.js' ]
2022-07-16T02:56:36.324047+00:00 app[web.1]: }
2022-07-16T02:56:36.449409+00:00 heroku[web.1]: Process exited with status 1
2022-07-16T02:56:36.545505+00:00 heroku[web.1]: State changed from starting to crashed
2022-07-16T02:56:36.550346+00:00 heroku[web.1]: State changed from crashed to starting
I've been trying different paths in the require but none worked.
Can anyone point me the right direction please?
Thanks

Error: Cannot find module 'mongoose' in heroku

When we try to deploy our nodejs app in heroku that show us this problem !
by the way I have large app that content a lot of routes. I are not knew if can deploy it with this way I have litter confuse.
//package.json
"scripts": {
"start": "node ./bin/www",
"dev": "nodemon ./bin/ww"
},
for runing Heroku : npm start
2021-10-17T19:17:50.244905+00:00 app[web.1]: Error: Cannot find module 'mongoose'
2021-10-17T19:17:50.244906+00:00 app[web.1]: Require stack:
2021-10-17T19:17:50.244906+00:00 app[web.1]: - /app/routes/users.js
2021-10-17T19:17:50.244906+00:00 app[web.1]: - /app/routes/index.js
2021-10-17T19:17:50.244907+00:00 app[web.1]: - /app/app.js
2021-10-17T19:17:50.244907+00:00 app[web.1]: - /app/bin/www
2021-10-17T19:17:50.244907+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
2021-10-17T19:17:50.244908+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:746:27)
2021-10-17T19:17:50.244908+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:974:19)
2021-10-17T19:17:50.244909+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:93:18)
2021-10-17T19:17:50.244909+00:00 app[web.1]: at Object.<anonymous> (/app/routes/users.js:10:16)
2021-10-17T19:17:50.244909+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1085:14)
2021-10-17T19:17:50.244910+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
2021-10-17T19:17:50.244910+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:950:32)
2021-10-17T19:17:50.244910+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:790:12)
2021-10-17T19:17:50.244911+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:974:19) {
2021-10-17T19:17:50.244911+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2021-10-17T19:17:50.244911+00:00 app[web.1]: requireStack: [
2021-10-17T19:17:50.244911+00:00 app[web.1]: '/app/routes/users.js',
2021-10-17T19:17:50.244912+00:00 app[web.1]: '/app/routes/index.js',
2021-10-17T19:17:50.244912+00:00 app[web.1]: '/app/app.js',
2021-10-17T19:17:50.244912+00:00 app[web.1]: '/app/bin/www'
2021-10-17T19:17:50.244913+00:00 app[web.1]: ]
2021-10-17T19:17:50.244913+00:00 app[web.1]: }
2021-10-17T19:17:50.261989+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2021-10-17T19:17:50.262348+00:00 app[web.1]: npm ERR! errno 1
2021-10-17T19:17:50.269748+00:00 app[web.1]: npm ERR! project-work#0.0.0 start: `node ./bin/www`
2021-10-17T19:17:50.269860+00:00 app[web.1]: npm ERR! Exit status 1
2021-10-17T19:17:50.269999+00:00 app[web.1]: npm ERR!
2021-10-17T19:17:50.270110+00:00 app[web.1]: npm ERR! Failed at the project-work#0.0.0 start script.
2021-10-17T19:17:50.270230+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2021-10-17T19:17:50.274000+00:00 app[web.1]:
2021-10-17T19:17:50.274070+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2021-10-17T19:17:50.274112+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2021-10-17T19_17_50_270Z-debug.log
2021-10-17T19:17:50.422905+00:00 heroku[web.1]: Process exited with status 1
2021-10-17T19:17:50.494116+00:00 heroku[web.1]: State changed from starting to crashed
2021-10-17T19:17:50.498518+00:00 heroku[web.1]: State changed from crashed to starting
2021-10-17T19:17:52.375838+00:00 heroku[web.1]: Starting process with command `

Heroku errors when deploying node-react app

I am deploying a fullstack react/express app to Heroku, it has managed to deploy. There are multiple errors in the Heroku logs which I have cannot seem to understand/figure out. I also have a Procfile with web: node server.js
I have tried to clear cache - delete node_modules and package.json then npm install again but this has not made a difference.
Heroku Logs
2020-11-15T13:08:12.713935+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:724:14)
2020-11-15T13:08:12.713935+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
2020-11-15T13:08:12.713935+00:00 app[web.1]: at internal/main/run_main_module.js:17:47
2020-11-15T13:08:12.783289+00:00 heroku[web.1]: Process exited with status 1
2020-11-15T13:08:12.818062+00:00 heroku[web.1]: State changed from starting to crashed
2020-11-15T13:08:12.826070+00:00 heroku[web.1]: State changed from crashed to starting
2020-11-15T13:08:21.448256+00:00 heroku[web.1]: Starting process with command `node server.js`
2020-11-15T13:08:24.324135+00:00 app[web.1]: /app/node_modules/mongoose/lib/connection.js:669
2020-11-15T13:08:24.324170+00:00 app[web.1]: throw new MongooseError('The `uri` parameter to `openUri()` must be a ' +
2020-11-15T13:08:24.324175+00:00 app[web.1]: ^
2020-11-15T13:08:24.324175+00:00 app[web.1]:
2020-11-15T13:08:24.324180+00:00 app[web.1]: MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
2020-11-15T13:08:24.324185+00:00 app[web.1]: at NativeConnection.Connection.openUri (/app/node_modules/mongoose/lib/connection.js:669:11)
2020-11-15T13:08:24.324185+00:00 app[web.1]: at /app/node_modules/mongoose/lib/index.js:342:10
2020-11-15T13:08:24.324190+00:00 app[web.1]: at promiseOrCallback (/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:9:12)
2020-11-15T13:08:24.324190+00:00 app[web.1]: at Mongoose.connect (/app/node_modules/mongoose/lib/index.js:341:10)
2020-11-15T13:08:24.324190+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:18:10)
2020-11-15T13:08:24.324191+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1015:30)
2020-11-15T13:08:24.324191+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
2020-11-15T13:08:24.324191+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:879:32)
2020-11-15T13:08:24.324191+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:724:14)
2020-11-15T13:08:24.324192+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
2020-11-15T13:08:24.324196+00:00 app[web.1]: at internal/main/run_main_module.js:17:47
2020-11-15T13:08:24.418110+00:00 heroku[web.1]: Process exited with status 1
2020-11-15T13:08:24.454083+00:00 heroku[web.1]: State changed from starting to crashed
2020-11-15T13:23:24.786742+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=obscure-journey-43421.herokuapp.com request_id=aa6c54d3-cfe3-4f74-b4c5-93018f00ba97 fwd="84.9.66.95" dyno= connect= service= status=503 bytes= protocol=https
2020-11-15T13:23:26.240301+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=obscure-journey-43421.herokuapp.com request_id=ec07ad1c-091f-4e53-b50d-9632b66dd2d4 fwd="84.9.66.95" dyno= connect= service= status=503 bytes= protocol=https
2020-11-15T13:27:28.000000+00:00 app[api]: Build started by user peterjameslewis4#hotmail.com
2020-11-15T13:29:08.458958+00:00 app[api]: Deploy 12d81f3b by user peterjameslewis4#hotmail.com
2020-11-15T13:29:08.458958+00:00 app[api]: Release v12 created by user peterjameslewis4#hotmail.com
2020-11-15T13:29:08.625747+00:00 heroku[web.1]: State changed from crashed to starting
2020-11-15T13:29:09.000000+00:00 app[api]: Build succeeded
2020-11-15T13:29:17.927953+00:00 heroku[web.1]: Starting process with command `npm start`
2020-11-15T13:29:20.083139+00:00 app[web.1]:
2020-11-15T13:29:20.083155+00:00 app[web.1]: > movie-database#1.0.0 start /app
2020-11-15T13:29:20.083155+00:00 app[web.1]: > node server.js
2020-11-15T13:29:20.083155+00:00 app[web.1]:
2020-11-15T13:29:20.795200+00:00 app[web.1]: /app/node_modules/mongoose/lib/connection.js:669
2020-11-15T13:29:20.795248+00:00 app[web.1]: throw new MongooseError('The `uri` parameter to `openUri()` must be a ' +
2020-11-15T13:29:20.795250+00:00 app[web.1]: ^
2020-11-15T13:29:20.795250+00:00 app[web.1]:
2020-11-15T13:29:20.795251+00:00 app[web.1]: MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
2020-11-15T13:29:20.795252+00:00 app[web.1]: at NativeConnection.Connection.openUri (/app/node_modules/mongoose/lib/connection.js:669:11)
2020-11-15T13:29:20.795254+00:00 app[web.1]: at /app/node_modules/mongoose/lib/index.js:342:10
2020-11-15T13:29:20.795254+00:00 app[web.1]: at promiseOrCallback (/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:9:12)
2020-11-15T13:29:20.795255+00:00 app[web.1]: at Mongoose.connect (/app/node_modules/mongoose/lib/index.js:341:10)
2020-11-15T13:29:20.795255+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:18:10)
2020-11-15T13:29:20.795255+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1015:30)
2020-11-15T13:29:20.795256+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
2020-11-15T13:29:20.795256+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:879:32)
2020-11-15T13:29:20.795256+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:724:14)
2020-11-15T13:29:20.795257+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
2020-11-15T13:29:20.795258+00:00 app[web.1]: at internal/main/run_main_module.js:17:47
2020-11-15T13:29:20.810114+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2020-11-15T13:29:20.810451+00:00 app[web.1]: npm ERR! errno 1
2020-11-15T13:29:20.817598+00:00 app[web.1]: npm ERR! movie-database#1.0.0 start: `node server.js`
2020-11-15T13:29:20.817850+00:00 app[web.1]: npm ERR! Exit status 1
2020-11-15T13:29:20.818099+00:00 app[web.1]: npm ERR!
2020-11-15T13:29:20.818312+00:00 app[web.1]: npm ERR! Failed at the movie-database#1.0.0 start script.
2020-11-15T13:29:20.818490+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-11-15T13:29:20.827750+00:00 app[web.1]:
2020-11-15T13:29:20.828041+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2020-11-15T13:29:20.828210+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2020-11-15T13_29_20_819Z-debug.log
2020-11-15T13:29:20.877545+00:00 heroku[web.1]: Process exited with status 1
2020-11-15T13:29:20.913439+00:00 heroku[web.1]: State changed from starting to crashed
2020-11-15T13:29:20.917070+00:00 heroku[web.1]: State changed from crashed to starting
2020-11-15T13:29:33.460653+00:00 heroku[web.1]: Starting process with command `npm start`
2020-11-15T13:29:36.844587+00:00 app[web.1]:
2020-11-15T13:29:36.844630+00:00 app[web.1]: > movie-database#1.0.0 start /app
2020-11-15T13:29:36.844631+00:00 app[web.1]: > node server.js
2020-11-15T13:29:36.844631+00:00 app[web.1]:
2020-11-15T13:29:38.011159+00:00 app[web.1]: /app/node_modules/mongoose/lib/connection.js:669
2020-11-15T13:29:38.011219+00:00 app[web.1]: throw new MongooseError('The `uri` parameter to `openUri()` must be a ' +
2020-11-15T13:29:38.011220+00:00 app[web.1]: ^
2020-11-15T13:29:38.011220+00:00 app[web.1]:
2020-11-15T13:29:38.011224+00:00 app[web.1]: MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
2020-11-15T13:29:38.011224+00:00 app[web.1]: at NativeConnection.Connection.openUri (/app/node_modules/mongoose/lib/connection.js:669:11)
2020-11-15T13:29:38.011225+00:00 app[web.1]: at /app/node_modules/mongoose/lib/index.js:342:10
2020-11-15T13:29:38.011226+00:00 app[web.1]: at promiseOrCallback (/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:9:12)
2020-11-15T13:29:38.011226+00:00 app[web.1]: at Mongoose.connect (/app/node_modules/mongoose/lib/index.js:341:10)
2020-11-15T13:29:38.011226+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:18:10)
2020-11-15T13:29:38.011227+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1015:30)
2020-11-15T13:29:38.011227+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
2020-11-15T13:29:38.011227+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:879:32)
2020-11-15T13:29:38.011228+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:724:14)
2020-11-15T13:29:38.011228+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
2020-11-15T13:29:38.011229+00:00 app[web.1]: at internal/main/run_main_module.js:17:47
2020-11-15T13:29:38.046555+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2020-11-15T13:29:38.047758+00:00 app[web.1]: npm ERR! errno 1
2020-11-15T13:29:38.059446+00:00 app[web.1]: npm ERR! movie-database#1.0.0 start: node server.js
2020-11-15T13:29:38.059681+00:00 app[web.1]: npm ERR! Exit status 1
2020-11-15T13:29:38.059955+00:00 app[web.1]: npm ERR!
2020-11-15T13:29:38.060192+00:00 app[web.1]: npm ERR! Failed at the movie-database#1.0.0 start script.
2020-11-15T13:29:38.060432+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-11-15T13:29:38.096793+00:00 app[web.1]:
2020-11-15T13:29:38.097273+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2020-11-15T13:29:38.097587+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2020-11-15T13_29_38_061Z-debug.log
2020-11-15T13:29:38.193702+00:00 heroku[web.1]: Process exited with status 1
2020-11-15T13:29:38.242866+00:00 heroku[web.1]: State changed from starting to crashed
Server.js
const express = require('express');
const app = express();
const path = require('path');
const cors = require('cors');
const port = process.env.PORT || 5000;
const dotenv = require('dotenv');
const mongoose = require('mongoose');
// Auth Routes
const authRoute = require('./routes/auth');
dotenv.config();
//Connect to DB
mongoose.connect(process.env.DB_CONNECT,
{ useNewUrlParser: true, useUnifiedTopology: true },
() => console.log('connected to DB!')
);
// Serve static files from the React app
app.use(express.static(path.join(__dirname, 'client/build/')));
// Middleware
app.use(express.json());
app.use(cors());
// Put all API endpoints under '/api'
app.use('/api', authRoute)
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname + '/client/build/index.html'));
});
app.listen(port, () => {
console.log(`Listening on port ${port}`);
});
Package.json
{
"name": "movie-database",
"version": "1.0.0",
"description": "Small application created with React.js, react router and the movie database to showcase all latest, upcoming and most popular movies.",
"main": "server.js",
"scripts": {
"start": "node server.js",
"heroku-postbuild": "cd client && npm install && npm run build"
},
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^5.0.0",
"bcryptjs": "^2.4.3",
"body-parser": "^1.19.0",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"joi": "^17.3.0",
"jsonwebtoken": "^8.5.1",
"lodash": "^4.17.20",
"mongoose": "^5.10.12",
"nodemon": "^2.0.6",
"password-generator": "^2.3.2",
"serve": "^11.3.2"
}
}
I cannot figure out what is going wrong?

Heroku cannot find mongoose module after deployment?

I have deployed a simple Nodejs app to Heroku and I keep getting an error in the application logs saying that the module "mongoose" cannot be found. I even provided a relative path instead of just saying require("mongoose"). The deployment succeeds and installs all the dependencies. The source code can be found here https://github.com/collinkleest/trim-io.
Here is the error log from heroku.
2020-10-17T02:01:42.000000+00:00 app[api]: Build started by user collinkleest#gmail.com
2020-10-17T02:01:59.000000+00:00 app[api]: Build succeeded
2020-10-17T02:01:59.493929+00:00 app[api]: Deploy af985be5 by user collinkleest#gmail.com
2020-10-17T02:01:59.493929+00:00 app[api]: Release v14 created by user collinkleest#gmail.com
2020-10-17T02:01:59.652847+00:00 heroku[web.1]: State changed from crashed to starting
2020-10-17T02:02:01.917601+00:00 heroku[web.1]: Starting process with command `npm start`
2020-10-17T02:02:04.175589+00:00 app[web.1]:
2020-10-17T02:02:04.175612+00:00 app[web.1]: > trim-io#0.0.1 start /app
2020-10-17T02:02:04.175612+00:00 app[web.1]: > node server.js
2020-10-17T02:02:04.175613+00:00 app[web.1]:
2020-10-17T02:02:04.369536+00:00 app[web.1]: internal/modules/cjs/loader.js:834
2020-10-17T02:02:04.369538+00:00 app[web.1]: throw err;
2020-10-17T02:02:04.369539+00:00 app[web.1]: ^
2020-10-17T02:02:04.369539+00:00 app[web.1]:
2020-10-17T02:02:04.369539+00:00 app[web.1]: Error: Cannot find module '../node_modules/mongoose'
2020-10-17T02:02:04.369540+00:00 app[web.1]: Require stack:
2020-10-17T02:02:04.369540+00:00 app[web.1]: - /app/models/urlEntity.js
2020-10-17T02:02:04.369541+00:00 app[web.1]: - /app/server.js
2020-10-17T02:02:04.369541+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15)
2020-10-17T02:02:04.369542+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:687:27)
2020-10-17T02:02:04.369542+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:903:19)
2020-10-17T02:02:04.369543+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2020-10-17T02:02:04.369543+00:00 app[web.1]: at Object.<anonymous> (/app/models/urlEntity.js:1:18)
2020-10-17T02:02:04.369543+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1015:30)
2020-10-17T02:02:04.369544+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
2020-10-17T02:02:04.369544+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:879:32)
2020-10-17T02:02:04.369545+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:724:14)
2020-10-17T02:02:04.369545+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:903:19) {
2020-10-17T02:02:04.369545+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2020-10-17T02:02:04.369546+00:00 app[web.1]: requireStack: [ '/app/models/urlEntity.js', '/app/server.js' ]
2020-10-17T02:02:04.369546+00:00 app[web.1]: }
2020-10-17T02:02:04.389361+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2020-10-17T02:02:04.389827+00:00 app[web.1]: npm ERR! errno 1
2020-10-17T02:02:04.398788+00:00 app[web.1]: npm ERR! trim-io#0.0.1 start: `node server.js`
2020-10-17T02:02:04.399025+00:00 app[web.1]: npm ERR! Exit status 1
2020-10-17T02:02:04.399280+00:00 app[web.1]: npm ERR!
2020-10-17T02:02:04.399493+00:00 app[web.1]: npm ERR! Failed at the trim-io#0.0.1 start script.
2020-10-17T02:02:04.399722+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-10-17T02:02:04.420468+00:00 app[web.1]:
2020-10-17T02:02:04.420707+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2020-10-17T02:02:04.420857+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2020-10-17T02_02_04_400Z-debug.log
2020-10-17T02:02:04.487055+00:00 heroku[web.1]: Process exited with status 1
2020-10-17T02:02:04.554273+00:00 heroku[web.1]: State changed from starting to crashed
Here is my server.js for reference as well:
const express = require("express");
const UrlEntity = require("./models/urlEntity");
const mongoose = require("./node_modules/mongoose");
const urlEntity = require("./models/urlEntity");
const app = express();
require('dotenv').config();
const mongoUri = "mongodb+srv://" + process.env.MONGO_USR + ":" + process.env.MONGO_PASS + "#" + process.env.MONGO_URL + "/" + process.env.MONGO_DB + "?retryWrites=true&w=majority";
mongoose.connect(
mongoUri,
{ useNewUrlParser: true, useUnifiedTopology: true}
);
app.use(express.json());
app.use(express.static('public'));
async function checkIdExists(id){
let exists = await UrlEntity.exists({uniqueId: id});
return exists;
}
function generateId(){
let randomId = Math.random().toString(20).substr(2, 8);
while(!(checkIdExists(randomId))){
randomId = Math.random().toString(20).substr(2, 8);
}
return randomId;
}
// redirect functionality
app.get("/:id", async (req, res) => {
if (req.params.id !== null || req.params.id !== undefined){
let doc = await UrlEntity.findOne({uniqueId: req.params.id});
res.redirect(doc.targetUrl);
} else {
res.redirect('/');
}
});
// create new url
app.post("/create-url", async (req, res) => {
console.log("in post");
let id = generateId();
await UrlEntity.create({uniqueId: id,
targetUrl: req.body.url,
dateCreated: req.body.date});
res.send(`${req.protocol}://${req.get('host')}/${id}`);
});
app.listen(process.env.PORT || 5000, () => {console.log("Trim.io API Started")});
You put mongoose in your devDependencies, which will be removed at runtime. (Link from your code) You need to move it to dependencies so that it will be available at runtime.
try changing the const mongoose = require("./node_modules/mongoose")
back to const mongoose = require("mongoose");
Don't forget to set your environment variables MONGO_USR, MONGO_PASS e.t.c on heroku settings. Your server will not start if the environment variable is not set.
Lastly I advice you use a connection string like this mongodb+srv://user:password#cluster2.bftwu.mongodb.net/databaseName
without concatenating

Express server working locally but crashing on heroku

My Node + Express server is working locally but not on Heroku.
Also worth mentioning I'm using heroku-postgres and ran these commands
heroku run knex migrate:latest -a myAppName
heroku run knex seed:latest -a myAppName
The commands ran successfully and I can see the seeded DB on Heroku.
What's the issue?
Now when I try to access the server, it just won't work because of some modules it can't find, but again it works perfectly on my end
I'm also deploying from my development-branch, haven't yet merged to master but that shouldn't be the problem.
Heroku Logs:
2019-11-20T19:57:57.678058+00:00 heroku[web.1]: State changed from starting to crashed
2019-11-20T19:57:57.524659+00:00 app[web.1]: internal/modules/cjs/loader.js:895
2019-11-20T19:57:57.524683+00:00 app[web.1]: throw err;
2019-11-20T19:57:57.524685+00:00 app[web.1]: ^
2019-11-20T19:57:57.524686+00:00 app[web.1]:
2019-11-20T19:57:57.524689+00:00 app[web.1]: Error: Cannot find module '../../Users/Middlewares/validateUserID'
2019-11-20T19:57:57.524690+00:00 app[web.1]: Require stack:
2019-11-20T19:57:57.524692+00:00 app[web.1]: - /app/Issues/Routes/IssueRoutes.js
2019-11-20T19:57:57.524694+00:00 app[web.1]: - /app/api/server.js
2019-11-20T19:57:57.524695+00:00 app[web.1]: - /app/index.js
2019-11-20T19:57:57.524697+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:892:15)
2019-11-20T19:57:57.524698+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:785:27)
2019-11-20T19:57:57.524700+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:956:19)
2019-11-20T19:57:57.524702+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2019-11-20T19:57:57.524703+00:00 app[web.1]: at Object.<anonymous> (/app/Issues/Routes/IssueRoutes.js:6:28)
2019-11-20T19:57:57.524704+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1063:30)
2019-11-20T19:57:57.524706+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1103:10)
2019-11-20T19:57:57.524707+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:914:32)
2019-11-20T19:57:57.524708+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:822:14)
2019-11-20T19:57:57.524710+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:956:19)
2019-11-20T19:57:57.524711+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2019-11-20T19:57:57.524712+00:00 app[web.1]: at Object.<anonymous> (/app/api/server.js:10:21)
2019-11-20T19:57:57.524713+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1063:30)
2019-11-20T19:57:57.524715+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1103:10)
2019-11-20T19:57:57.524716+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:914:32)
2019-11-20T19:57:57.524717+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:822:14) {
2019-11-20T19:57:57.524718+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2019-11-20T19:57:57.524720+00:00 app[web.1]: requireStack: [
2019-11-20T19:57:57.524721+00:00 app[web.1]: '/app/Issues/Routes/IssueRoutes.js',
2019-11-20T19:57:57.524722+00:00 app[web.1]: '/app/api/server.js',
2019-11-20T19:57:57.524724+00:00 app[web.1]: '/app/index.js'
2019-11-20T19:57:57.524725+00:00 app[web.1]: ]
2019-11-20T19:57:57.524726+00:00 app[web.1]: }
2019-11-20T19:57:57.533660+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-11-20T19:57:57.534079+00:00 app[web.1]: npm ERR! errno 1
2019-11-20T19:57:57.536043+00:00 app[web.1]: npm ERR! bettercity#1.0.0 start: `node index.js`
2019-11-20T19:57:57.536045+00:00 app[web.1]: npm ERR! Exit status 1
2019-11-20T19:57:57.536154+00:00 app[web.1]: npm ERR!
2019-11-20T19:57:57.536817+00:00 app[web.1]: npm ERR! Failed at the bettercity#1.0.0 start script.
2019-11-20T19:57:57.536821+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-11-20T19:57:57.563676+00:00 app[web.1]:
2019-11-20T19:57:57.564106+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-11-20T19:57:57.564508+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2019-11-20T19_57_57_537Z-debug.log
2019-11-20T19:57:57.659267+00:00 heroku[web.1]: Process exited with status 1
2019-11-20T19:58:25.000000+00:00 app[api]: Build started by user myEmail#mail.com
2019-11-20T19:59:21.041005+00:00 app[api]: Deploy a1b6ff8e by user myEmail#mail.com
2019-11-20T19:59:21.041005+00:00 app[api]: Release v20 created by user myEmail#mail.com
2019-11-20T19:59:21.000000+00:00 app[api]: Build succeeded
2019-11-20T19:59:22.528003+00:00 heroku[web.1]: State changed from crashed to starting
2019-11-20T19:59:26.144682+00:00 heroku[web.1]: Starting process with command `npm start`
2019-11-20T19:59:29.286295+00:00 heroku[web.1]: State changed from starting to crashed
2019-11-20T19:59:28.777609+00:00 app[web.1]:
2019-11-20T19:59:28.777626+00:00 app[web.1]: > bettercity#1.0.0 start /app
2019-11-20T19:59:28.777628+00:00 app[web.1]: > node index.js
2019-11-20T19:59:28.777629+00:00 app[web.1]:
2019-11-20T19:59:29.268829+00:00 heroku[web.1]: Process exited with status 1
2019-11-20T19:59:29.169740+00:00 app[web.1]: internal/modules/cjs/loader.js:895
2019-11-20T19:59:29.169765+00:00 app[web.1]: throw err;
2019-11-20T19:59:29.169766+00:00 app[web.1]: ^
2019-11-20T19:59:29.169767+00:00 app[web.1]:
2019-11-20T19:59:29.169779+00:00 app[web.1]: Error: Cannot find module '../../Users/Middlewares/validateUserID'
2019-11-20T19:59:29.169780+00:00 app[web.1]: Require stack:
2019-11-20T19:59:29.169781+00:00 app[web.1]: - /app/Issues/Routes/IssueRoutes.js
2019-11-20T19:59:29.169782+00:00 app[web.1]: - /app/api/server.js
2019-11-20T19:59:29.169783+00:00 app[web.1]: - /app/index.js
2019-11-20T19:59:29.169784+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:892:15)
2019-11-20T19:59:29.169785+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:785:27)
2019-11-20T19:59:29.169786+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:956:19)
2019-11-20T19:59:29.169787+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2019-11-20T19:59:29.169788+00:00 app[web.1]: at Object.<anonymous> (/app/Issues/Routes/IssueRoutes.js:6:28)
2019-11-20T19:59:29.169789+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1063:30)
2019-11-20T19:59:29.169790+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1103:10)
2019-11-20T19:59:29.169791+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:914:32)
2019-11-20T19:59:29.169792+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:822:14)
2019-11-20T19:59:29.169793+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:956:19)
2019-11-20T19:59:29.169794+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:74:18)
2019-11-20T19:59:29.169795+00:00 app[web.1]: at Object.<anonymous> (/app/api/server.js:10:21)
2019-11-20T19:59:29.169796+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:1063:30)
2019-11-20T19:59:29.169797+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1103:10)
2019-11-20T19:59:29.169798+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:914:32)
2019-11-20T19:59:29.169799+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:822:14) {
2019-11-20T19:59:29.169800+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2019-11-20T19:59:29.169801+00:00 app[web.1]: requireStack: [
2019-11-20T19:59:29.169802+00:00 app[web.1]: '/app/Issues/Routes/IssueRoutes.js',
2019-11-20T19:59:29.169803+00:00 app[web.1]: '/app/api/server.js',
2019-11-20T19:59:29.169804+00:00 app[web.1]: '/app/index.js'
2019-11-20T19:59:29.169805+00:00 app[web.1]: ]
2019-11-20T19:59:29.169806+00:00 app[web.1]: }
2019-11-20T19:59:29.179485+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-11-20T19:59:29.179812+00:00 app[web.1]: npm ERR! errno 1
2019-11-20T19:59:29.181606+00:00 app[web.1]: npm ERR! bettercity#1.0.0 start: `node index.js`
2019-11-20T19:59:29.181811+00:00 app[web.1]: npm ERR! Exit status 1
2019-11-20T19:59:29.182146+00:00 app[web.1]: npm ERR!
2019-11-20T19:59:29.182403+00:00 app[web.1]: npm ERR! Failed at the bettercity#1.0.0 start script.
2019-11-20T19:59:29.182699+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-11-20T19:59:29.198787+00:00 app[web.1]:
2019-11-20T19:59:29.199117+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-11-20T19:59:29.199119+00:00 app[web.1]: npm ERR! /app/.npm/_logs/2019-11-20T19_59_29_183Z-debug.log
package.json
{
"name": "bettercity",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js",
"server": "nodemon index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/rodpa715/bettercity.git"
},
"author": "Patrick Rodrigues",
"license": "ISC",
"bugs": {
"url": "https://github.com/rodpa715/bettercity/issues"
},
"homepage": "https://github.com/rodpa715/bettercity#readme",
"dependencies": {
"bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"helmet": "^3.21.2",
"jsonwebtoken": "^8.5.1",
"knex": "^0.20.2",
"node": "^13.1.0",
"pg": "^7.12.1"
},
"engines": {
"node": "^10.16.3",
"npm": "6.13.0"
},
"devDependencies": {
"jest": "^24.9.0",
"nodemon": "^1.19.4",
"supertest": "^4.0.2"
}
}
[SOLVED]
It seems as though GitHub doesn't track folder case-sensitivity change so even when I renamed the folders it didn't work. I copied everything into a new repo and it deployed successfully.
Try changing
const { validateUserID } = require("../../Users/Middlewares/validateUserID");
to
const { validateUserID } = require("../../users/Middlewares/validateUserID");
with a lowercase users
linux is case sensitive and it might be giving issues on a server but not on your machine if you have a mac.
Your paths to the routes are incorrect and node cannot find those in the Heroku filesystem.
Work off your current file using like './' so you update to:
const authRoutes = require("./../Authentication/Routes/AuthRoutes");

Resources