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.
Add undefined check on variable To fix the “cannot read property of undefined” error, check that the value is not undefined before accessing the property. For example, in this code: const auth = undefined; console. log(auth); // undefined // TypeError: Cannot read properties of undefined (reading 'user') console.
While not a root-cause solution, a workaround is: Delete node_modules and package-lock. json.
I had this same issue, however none of the solutions mentioned above worked for me, I even tried to clean my remote repo, using heroku-repo plugin which by the way you can install using heroku plugins:install heroku-repo followed by heroku repo:reset -a appname to try luck with this one.
The solutions which worked for me was to disable the node_modules cache from heroku. Heroku maintains a cache directory that is persisted between builds. This cache is used to store caches for npm, yarn, and bower.
Try using the following steps.
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:
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.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
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With