|
|
|
|
|
by SAI_Peregrinus
1214 days ago
|
|
The core problem (as I see it) is that Linux distros tend not to have any firm distinction between "system" packages, "user" packages, and "development" packages (which are a subset of user packages). The system package manager installs everything globally, while also being considered the only approved/safe way to install packages. Languages tend to try to get around this by providing their own package registries and build systems to use them (npm, pip, cargo, etc), and developer tools often include some sort of sandboxing to avoid interference from the system packages (venv, bazel, cargo, nix develop, etc). For user packages a tool like Snap, home-manger, Flatpak, or AppImage seems necessary. Python makes the problems very obvious, especially since it has so many package management systems, gets used for system packages, and gets used for user applications. |
|