2 ms·
Python 2/3 is not a representative example, because it's actually designed to be installed side-by-side by the authors. Many libraries and apps on Unix are not.
by inferiorhuman 7y ago
Python 2/3 is not a representative example, because it's actually designed to be installed side-by-side by the authors. Many libraries and apps on Unix are not.
Rust is designed to support multiple toolchains with rustup. I've got the following installed on my desktop box:
stable-x86_64-apple-darwin
nightly-2018-12-14-x86_64-apple-darwin
nightly-arm-unknown-linux-gnueabihf
nightly-x86_64-apple-darwin (default)
- int_19h 7y agoIf I remember correctly, the granularity for this mechanism is pretty much arbitrary - i.e. you can have 1.2.3 and 1.2.4 installed side by side if you wanted to. From a practical perspective, if this means that the apps can start depending on 1.2.3 specifically, it requires the distro to package every minor version separately, which is very time- and space-consuming. With gcc and clang it's easier, because usually only the major versions get packaged side by side, and minor versions are simple upgrades.