title: Express server working locally but crashing on heroku
body: <p>My Node + Express server is working locally but not on Heroku.</p>
  
  <p>Also worth mentioning I'm using <code>heroku-postgres</code> and ran these commands </p>
  
  <p><code>heroku run knex migrate:latest -a myAppName</code>
  <code>heroku run knex seed:latest -a myAppName</code></p>
  
  <p>The commands ran successfully and I can see the seeded DB on Heroku.</p>
  
  <p><strong>What's the issue?</strong></p>
  
  <p>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</p>
  
  <p>I'm also deploying from my development-branch, haven't yet merged to master but that shouldn't be the problem.</p>
  
  <p>Heroku Logs:</p>
  
  <pre><code>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.&lt;anonymous&gt; (/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.&lt;anonymous&gt; (/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]: &gt; bettercity@1.0.0 start /app
  2019-11-20T19:59:28.777628+00:00 app[web.1]: &gt; 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.&lt;anonymous&gt; (/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.&lt;anonymous&gt; (/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
  </code></pre>
  
  <p>package.json</p>
  
  <pre><code>{
    "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\" &amp;&amp; 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"
    }
  }
  </code></pre>
  
  <p><strong>[SOLVED]</strong></p>
  
  <p>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.</p>