I think part of the root usability issue might be the mismatch between the ways that npm and Bundler handle dependency resolution & loading. I would expect the average Rails developer to have a reasonable understanding of how Bundler models the problem (only one version can be loaded). I wouldn’t necessarily expect them to understand npm’s model (load as many versions as you want), understand that it’s different, understand the ways that Yarn 1 and npm are interlinked but distinct…
When cross-branch dependency mismatch problems crop up between different gems, you get a fast failure, it’s easy to understand how you got there, and easy to fix. So you roll your eyes, run
bundle again, and move on with your life. But yarn integrity checks take a while (a visible while, even), understanding how you got there is just that little more difficult, and understanding how to fix them is also just that little more difficult. So it feels like a WTF rather than something routine.
@petrik can you go more into what you mean by a commandline actionable error, and how you feel it would solve the usability problem here? I think I understand what you mean, but I’d like it if people casually reading this thread could read a direct description here rather than following a link and needing to figure out the implied UX.