deh*_*ann 10 mac unix package-management fink macos
我对在 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。)
虽然没有用于 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“ports”模型对 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 捆绑文件)。
OS X没有官方的包管理器。
Fink 可能说它没有安装,因为它没有安装在 Fink 路径中。我在从 Fink 或 MacPorts 安装某些东西或使用不同版本号复制副本时遇到了问题。
选择一个并坚持下去。如果您觉得必须进行更改,最好清除另一个包管理器并从新的包管理器重新安装。