I won’t disagree, but what Rust did is not the correct answer.
It's hard to say that what Rust did was not correct when it's better than what C++ has (nothing, or rather it punts to the OS and user to handle it). I agree it's far from perfect but it's as good as pretty much any other languages dependency management system that I'm aware of. If you know a better one I'd love to hear about it because yes, there are still gaps and pain points. I'd argue many of those gaps and pain points are a legacy of C and C++ though. The fact that C/C++ never had an actual dependency management system meant that the OS had to provide one, and every OS more or less went about it in an entirely different fashion (and even worse in the case of Linux, every distro went about it in a different fashion). This has massively complicated things because there is a HUGE body of C/C++ libraries that are very desirable to use with absolutely no consistent way to do so. It's not as simple as just adding the ability to pull from the C/C++ repo for any of those dependencies, because there is no such thing.