Yarn is great. But there's a caveat to introducing it into your ecosystem:
Yarn uses a file called yarn.lock
to remember package versions, and this file is incompatible (and will remain incompatible) with npm's package-lock.json
.
Since you want to commit the lockfile with the rest of your code, if you're using yarn you should be adding the package-lock.json file to your ignore list (eg .gitignore).