When you use Yarn to install node modules, it generates a
yarn.lock file which contains a list of the exact modules that it installed when you ran the command. If the dependencies in
package.json change, but a new
yarn.lock file is not generated by the Yarn executable we fail the build to prevent subtle bugs and security issues that could affect your application at runtime.
This issue commonly occurs when your application uses Yarn but some other tool modifies the
package.json file without invoking
yarn install. An example would be using npm to install a new module instead of Yarn, or manually updating a version requirement by hand.
To resolve this, run
yarn install and check in the updated
$ yarn install $ git add yarn.lock $ git commit -m "Updated Yarn lockfile" $ git push heroku master