Yarn creates a yarn.lock
file after you perform a yarn install
.
Should this be committed to the repository or ignored? What is it for?
9 Answers
Yes, you should check it in, see Migrating from npm
What is it for?
The npm client installs dependencies into the node_modules
directory non-deterministically. This means that based on the order dependencies are installed, the structure of a node_modules directory could be different from one person to another. These differences can cause works on my machine bugs that take a long time to hunt down.
Yarn resolves these issues around versioning and non-determinism by using lock files and an install algorithm that is deterministic and reliable. These lock files lock the installed dependencies to a specific version and ensure that every install results in the exact same file structure in node_modules
across all machines.