// if you also encounter this kind of error when using "git push heroku main" then you can try the solution that's works for me
// i use npm and yarn in some of my dependencies so i got this error
// what i do is to delete my yarn.lock coz i'll be using npm then
"scripts": {
"heroku-postbuild": "npm run build:prod"
},
// then this after dependencies
"engines": {
"node": "^15.14.0",
"npm": "^7.10.0"
},
// 1. change from "yarn run build:prod" to "npm run build:prod"
// 2. delete yarn.lock file
// 3. push changes to git // git commit -m ""
// 4. git push heroku main
//Enumerating objects: 108, done.
//Counting objects: 100% (108/108), done.
//Delta compression using up to 6 threads
//Compressing objects: 100% (100/100), done.
//Writing objects: 100% (108/108), 271.18 KiB | 4.30 MiB/s, done.
//Total 108 (delta 21), reused 0 (delta 0)
//remote: Compressing source files... done.
//remote: Building source:
//remote:
//remote: -----> Node.js app detected
//remote:
//remote: -----> Build failed
//remote: ! Two different lockfiles found: package-lock.json and yarn.lock
//remote:
//remote: Both npm and yarn have created lockfiles for this application,
//remote: but only one can be used to install dependencies. Installing
//remote: dependencies using the wrong package manager can result in missing
//remote: packages or subtle bugs in production.
//remote:
//remote: - To use npm to install your application's dependencies please delete
//remote: the yarn.lock file.
//remote:
//remote: $ git rm yarn.lock
//remote:
//remote: - To use yarn to install your application's dependences please delete
//remote: the package-lock.json file.
//remote:
//remote: $ git rm package-lock.json
//remote:
//remote: https://kb.heroku.com/why-is-my-node-js-build-failing-because-of-conflicting-lock-files
//remote:
//remote: ! Push rejected, failed to compile Node.js app.
//remote:
//remote: ! Push failed
//remote: Verifying deploy...
//remote:
//remote: ! Push rejected to
//remote:
//To https://git.heroku.com/
//! [remote rejected] master -> master (pre-receive hook declined)
//error: failed to push some refs to 'https://git.heroku.com/