我对在 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
答案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 安装某些东西时遇到了问题,或者安装了具有不同版本号的重复副本。
选择一个并坚持下去。如果你觉得必须改变,最好删除其他包管理器并从新包管理器重新安装。