Mac OS 上 Unix 软件包的官方安装程序是什么?

Mac OS 上 Unix 软件包的官方安装程序是什么?

我对在 Mac OS X 上安装标准 Unix 软件包有点困惑。例如,我有 /usr/bin/svn,它是 SVN v.1.4.4,但 FinkCommander 说 svn 未安装。其他软件包(如 emacs 等)也是如此。

这是 FinkCommander 的错误设置吗?目前它被设置为安装 中的所有内容/sw,而 中甚至没有PATH。那么,我是否只需将其设置为将软件包安装到/usr,它就会识别已安装的软件?我不想安装所有软件包的重复软件包,而且 FinkCommander 似乎与已安装的软件不同步,这很奇怪。

或者我应该使用其他安装程序吗?Mac Ports 是推荐使用的安装程序吗?

(我使用的是 Mac OS 10.5.8。)

答案1

OS X 没有官方的软件包管理器。

芬克麦金塔, 和自制提供各自不同的特性和功能来填补这一空白。

正如许多用户指出的那样:

  • 避免使用 /usr
  • 直到您配置 PATH,才会找到来自不同目录的包。

答案2

虽然没有官方的作为 Mac OS X 的 Unix / FOSS 软件包管理器,需要注意的是,MacPorts 是由 Apple 的 Mac OS X / Darwin 工程师创建并主要维护的。macports.org 网站托管在 Apple 的服务器上,是 Apple 的“MacOSForge.com”项目的一部分。由于 Mac OS X / Darwin 是基于 *BSD 的,Apple 的许多 Unix 层软件工程师都来自 *BSD 传统,因此他们以 *BSD“移植”模型为蓝本设计了 MacPorts。

Fink 是 Mac OS X 最初的开源软件包管理器,但它与 Apple 没有密切的组织联系,而是选择遵循 Debian Linux apt-get 的传统。

我不确定上述任何细节是否足以推荐其中一种。我想说这取决于您已经更熟悉哪种模型。如果您更熟悉 apt-get,请选择 Fink。如果您更熟悉 BSD“移植”,请选择 MacPorts。

正如其他人所说,最好不要使用 Mac OS X 的默认 Unix 工具。Fink 和 MacPorts 已经吸取了教训,并在自己的目录层次结构中安装了自己的副本(Fink 为 /sw,MacPorts 为 /opt)。Homebrew 尚未完全吸取教训,但一旦某些用户使用 Homebrew 更新内置副本(例如,Perl 或 Python),并且它存在一些无法预见的兼容性问题,从而破坏了 Mac OS X 的内置部分,例如使用 Perl 脚本执行某些安装任务的安装程序包(Mac OS X .pkg 捆绑文件),他们就会吸取教训。

答案3

没有官方的OS X 的包管理器。

Fink 可能说它没有安装,因为它没有安装在 Fink 路径中。我在从 Fink 或 MacPorts 安装某些东西时遇到了问题,或者安装了具有不同版本号的重复副本。

选择一个并坚持下去。如果你觉得必须改变,最好删除其他包管理器并从新包管理器重新安装。

答案4

另一个不太受关注的选择是自制麦金塔或者芬克魯迪克斯

2023 年 8 月更新:Rudix 似乎已存档。Rudix 网页仍然存在,但不再有安装或使用说明。此外,Rudix git 存储库自 2022 年 10 月以来没有任何更新。人们还可以考虑新的选择:软件包源码尼克斯在我看来,Rudix 是最简单的选择,而 pkgsrc 和 nix 都不太简单(尽管与 Homebrew 或 MacPorts 差不多)。

相关内容