Suhas
Suhas

Reputation: 3

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:

 > [email protected] 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! [email protected] 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"
  }
}

Upvotes: 0

Views: 1849

Answers (1)

Andy
Andy

Reputation: 5414

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.

Upvotes: 4

Related Questions