几种编程语言都有自己的库包管理器。Ruby 有 gem,Haskell 有 cabal 等。但很多时候,一些重要的库也有一个操作系统包。那么在什么情况下应该选择哪一个呢?(除了明显的情况,例如一个不起作用,或者是没有我需要的功能的旧版本。)这些选项有什么优势?最佳实践是什么?
答案1
我会选择您的发行版/操作系统提供的软件包。
因为如果你这样做,那么你的包管理器就会知道这些库已经安装。(它们通常只在安装了包含这些库的包时才检查这些库是否存在。)
如果你尝试安装另一个依赖于这些库的软件包,你要么
- 必须以某种方式告诉您的包管理器这些库已经安装(例如通过为它们创建一个伪包)
或者
- 包管理器将安装带有库的包,并且您的系统上将拥有这些库的两个版本。