https://nixos.org/manual/nix/stable/introduction.html关于尼克斯说
多个版本
您可以同时安装一个软件包的多个版本或变体。当不同的应用程序依赖于同一包的不同版本时,这一点尤其重要 -它可以防止“DLL 地狱”。由于哈希方案,包的不同版本最终会出现在 Nix 存储中的不同路径中,因此它们不会相互干扰。
一个重要的结果是,升级或卸载应用程序等操作不会破坏其他应用程序,因为这些操作永远不会“破坏性”更新或删除其他包使用的文件。
Nix 解决 DLL 地狱问题的方式与其他更流行的 Debian 或 Arch 包管理器不同吗?
如果是的话,Nix 在解决 DLL hell 问题方面比他们有优势吗?
答案1
是的,当然,这就是 Nix 的全部要点,并且在埃尔科·多尔斯特拉的论文我建议你阅读。
典型 Linux 发行版中的其他包管理器并不能以可靠的方式解决 DLL 地狱问题:它们需要所有维护包的人员的持续关注。例如,他们必须手动找出他们的包所依赖的包并将其输入到系统中。当用户安装新版本的库时,该库将自动被许多以前安装的软件使用,并可能会破坏其中的一些软件。