hek*_*ran 8 mac package-management packages macos
Debian 有 APT。红帽有 RPM。FreeBSD 有端口。NetBSD 有 pkgsrc。Mac OS X 有 MacPorts、Fink 和 Homebrew,但这些都是第三方包管理器。为什么 OS X 没有默认的包管理器?
我的观点(这基本上只是观点,尽管我认为证据可能会让您产生相同的想法)是因为开源与商业软件行业的思维过程存在基本差异。
对于开源软件项目,软件包系统非常出色,因为它们使任何用户都可以非常轻松地获取软件或使其保持最新状态——通常只是一个命令,现在通过像 Ubuntu 软件中心这样的新手友好 UI。它为桌面用户和服务器管理员提供了极大的便利。
对于商业软件行业,货币化和营销与分销同样重要(如果不是更重要)。您知道开源 Windows 应用程序通常只有一个标准的 NSIS 安装程序,而商业软件往往具有带有自定义窗口镶边、到处都是徽标和营销副本的糟糕安装程序吗?这是因为对于商业公司来说,重要的是在任何可能的地方插入他们的品牌、营销和经验。这意味着商业软件公司通常希望控制其产品分发的各个方面,即自定义网站、安装程序和更新程序。公司还希望能够为他们的产品向客户收费,而传统的包装系统没有提供许可和收费的规定。
包环境还需要软件制造商之间的大量合作,以统一打包标准并维护存储库。竞争对手的软件公司希望将自己与其他公司区分开来,并且往往目光短浅,更喜欢尽可能不同,而不是尽可能方便用户。尽管开源世界中仍然存在项目之间的竞争,但在开发人员的脑海中,它往往不那么重要。相反,开源软件行业非常注重合作,这意味着重大项目聚集在一起并就标准化的分发机制达成一致是很自然的。
商业软件行业现在正在迅速受益于统一的分发系统,但这是由于平台供应商而非软件制造商的努力,而且不是从 PC 而是在手机上开始的:iOS 可能是第一个取得巨大成功的中央应用程序Store,然后 Android 带来了它们,现在所有主要的手机操作系统都有它们。在台式机上,Mac App Store 最近被引入,我相信 Windows 8 已经正式宣布将提供 App Market。
什么是应用商店/市场?一个中央系统,您可以通过它下载和自动安装软件,它还可以自动管理依赖项并检查更新。它实际上只是一个穿着更好西装的包裹经理,并着眼于收入。
tl;dr:开源社区的动机自然而然地导致了打包系统,而商业软件行业没有看到好处并采取主动。现在商业软件行业正在兴起并以应用程序商店的形式引入软件包系统。
我不认为有任何真正的原因,只是苹果觉得没有必要添加一个,因为它对于大多数 Mac 用户来说并不是那么必要。对于各种风格的 Linux,您需要从源代码编译所有内容,因为所有不同的环境差异很大,在一个地方编译的可执行文件可能无法在另一个地方正常工作。这还需要确保所有依赖项首先就位。包含 Linux 包管理器是为了让用户更简单。
就 OS X 而言,为其编译的任何内容都可能有效(几个不同版本之间肯定存在例外,但它不像 Linux 发行版那样零星)。您可以非常确定您正在下载的二进制文件能够正常运行。Apple 控制了操作系统的开发和分发,因此它保持相当规律和一致 - 类似于 Windows 的这种方式。但由于 OS X 是基于 Unix 核心构建的,并且有足够多的人想要使用 Unix 工具,因此有第三方包管理器来提取源代码、检查依赖关系并针对该特定平台进行编译。
| 归档时间: |
|
| 查看次数: |
5220 次 |
| 最近记录: |