我非常喜欢 macports、homebrew、apt-get 以及 portableapps.com
但是我最喜欢的许多可通过 Sourceforge 或 Google Code 获得的应用程序都需要手动解压、配置、构建、移动等等。
这些大型项目存储库没有包管理系统,是否存在一些明显的原因?
答案1
此类网站上托管的大多数项目都是针对 Linux 的,Linux 有一个发行版一包管理系统(例如apt
Debian/Ubuntu、pacman
Arch)。引入第二、第三、第四个包管理器至少会造成混乱,甚至可能引发冲突。(例如:当您尝试从 MacPorts 安装程序,但该程序已从 Homebrew 安装时会发生什么?可能会发生糟糕的事情。)
这些发行版也有自己的打包规则——配置选项、某些文件的位置、包格式本身;例如,Debian 将许多程序分成“main”、“dev”、“dbg”包,而 Arch 则没有。要为所有发行版构建一个包,就必须遵守一套逻辑上不可能的规则;因此每个发行版都维护自己的存储库。
非官方的额外存储库做存在——许多托管在 Launchpad 上的项目都有一个 PPA,其中包含为 Ubuntu 构建的软件包;Arch Linux 有一个用户维护的 AUR;最后,甚至 Mac OS X 也有 MacPorts 和 Homebrew :) 然而,它们都相似之处在于它们特定于操作系统,但绝不会访问网站。