来自操作系统或自定义包管理器的包

来自操作系统或自定义包管理器的包

几种编程语言都有自己的库包管理器。Ruby 有 gem,Haskell 有 cabal 等。但很多时候,一些重要的库也有一个操作系统包。那么在什么情况下应该选择哪一个呢?(除了明显的情况,例如一个不起作用,或者是没有我需要的功能的旧版本。)这些选项有什么优势?最佳实践是什么?

答案1

我会选择您的发行版/操作系统提供的软件包。

因为如果你这样做,那么你的包管理器就会知道这些库已经安装。(它们通常只在安装了包含这些库的包时才检查这些库是否存在。)

如果你尝试安装另一个依赖于这些库的软件包,你要么

  • 必须以某种方式告诉您的包管理器这些库已经安装(例如通过为它们创建一个伪包)

或者

  • 包管理器将安装带有库的包,并且您的系统上将拥有这些库的两个版本。

相关内容