Search code examples
herokuheroku-cli

Cannot read property 'match' on undefined on pushing to heroku


Tried pushing a project to heroku - got the same error when using heroku-cli and when connecting to Github.

Error Log:

-----> Building dependencies

       Installing node modules (package.json + package-lock)

       npm ERR! Cannot read property 'match' of undefined

Package.json

{
  "name": "myApp",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-router-dom": "^4.3.1",
    "react-scripts": "2.1.3",
    "react-social-icons": "^4.1.0",
    "react-spring": "^7.2.10"
  },
...
  "eslintConfig": {
    "extends": "react-app"
  },
  "engines": {
    "node": "10.13.0"
  },
...
  "devDependencies": {
    "react": "^16.7.0"
  }
}

React wasn't initially in devDependencies - have that there as an attempt at fixing an earlier error.

Issue persists either way.


Solution

  • Check package-lock.json

    This issue is most likely related to your package-lock.json. This file causes a lot of issues, but it's recommended that you check it into source.

    With that said, one of two things should fix your issue:

    1. First try deleting your package-lock.json and node_modules locally, then re-install all of your dependencies: npm i. Try pushing to Heroku again after this is complete.
    2. If the suggestion above does not work, just delete your package-lock.json file locally, commit your change, and try pushing to Heroku again.

    Also, you should not have to list react as a dev dependency. You can delete that from your package.json.