"npm ci" deletes node_modules directory every time. Try using that when you depend on some native modules. :(
I thought `npm ci` is more suited for ci machines, where it's crucial that packages are pinned to specific versions. For local development, I just npm install. Perhaps with no-save option in order to avoid updating package-lock. Works fine.
After getting `package-lock.json` and `npm ci`, I would rather wonder why choose yarn instead of npm.