Mac 包装:新方法的建议(请提出建议)

Mac 包装:新方法的建议(请提出建议)

Macports 是我在 Mac 上检查过的唯一打包系统,但我并不喜欢它。(它需要将所有应用程序安装在特定位置。这可能是它显示 Python2.5 为依赖项的原因,尽管我已经安装了它,但还需要安装它。)对于从 Ubuntu 转移过来的人来说,我非常想念 apt-get。就 Macports 而言,没有中央存储库,因此软件包的源代码是从项目网站获取、构建和安装的。

现在,Ubuntu 有各种 deb 格式的开源项目,可以正确安装在 Ubuntu 机器上。此外,所有这些 deb 都有一个中央存储库。

Macports 的问题:-

  1. 即使机器上已经存在东西它也会安装。
  2. 它总是从项目网站下载、编译和安装软件包。它没有所有软件包的中央存储库。我猜这可能会导致安装不相互兼容的软件包。

现在假设 Mac 有一个非常好的包装系统,我们会面临什么问题?

  1. 所有软件包的服务器。
  2. 所有的包都需要定期维护,较新的包也需要打包。

但是,如果有一些标准的方法将 deb 文件(我之所以说 deb 文件是因为我觉得 Ubuntu 存储库是最好的)转换为可在 OSX 中安装的软件包:-

  1. 我们可以使用包含定期维护的软件包的标准 Ubuntu 存储库。

  2. 我们对所有软件包都有一个中心位置,而不是从开发网站下载软件包(就像 Macports 那样)。

这样的事可能吗?如果有人有更好的解决方案,请发表您的意见。Mac 上没有真正好的软件包管理器,这真的很遗憾。

答案1

我建议你自制

Homebrew 的要点是它不需要安装您已有的工具的新版本。

这里有一个好文章关于它。

答案2

  • 看看芬克. IIRC 它使用 debpkg/apt 作为包管理系统。
  • 您不能直接将软件包文件“转换”到完全不同的平台。Ubuntu deb 文件是为 Linux 内核编译的,而不是 MacOS。此外,MacOS 更像 xBSD,而不是 Linux,而在 BSD 上,ports 系统(MacPorts 也使用该系统)是标准软件包系统。
  • 我认为 MacPorts 将所有内容保存在单独的目录中是一个功能,而不是错误。这样我就可以添加较新的 python 或 perl 版本,而不必担心破坏其他地方。尽管如此,我还是同意在某些情况下拥有虚拟“系统 python”等软件包可能会有所帮助,这些软件包能够满足 MacOS 已提供的程序的依赖关系。同样,我认为 fink 就是这样做的。

相关内容