Since they introduced package locks `npm i` breaks way too often for us (we have win-mac-linux machines), it's a royal pain in the back.
One time out of fun and curiosity we flushed the cache and deleted the lockfile and the node modules dir, did npm i on a mac and a windows and they were undiffably different. Okay, this was months ago and probably there is a good explanation for it, but it was not reassuring.
Never had `npm i` break though... does it fail if you do `npm ci`? Are you pinning versions? Very peculiar behavior.