`
tetsu.soh
  • 浏览: 78092 次
  • 性别: Icon_minigender_1
  • 来自: 东京
社区版块
存档分类
最新评论

比较Fink, macports 和 homebrew

 
阅读更多
如果你有Linux/Unix背景,那么在Mac上你一定想安装那些你熟悉的open source软件。
Fink,Macports和Homebrew是3个主流的package management tool。

1. Fink

Fink是基于Debian的packaging tools开发的。最大的特点是安装软件是预编译好的(pre-compiled/pre-built)。
所以,用Fink安装package是不需要在本机编译的,都是现成的binary code。

Fink最大的问题是package跟进不够快。很多最新版的软件,你要等Fink。

2. Macports
Mac算是BSD的一个变种吧。所以,BSD的包管理软件port被移植到Mac上就显的理所当然了。

macports的工作方式是下载source code然后在本地编译。macport的理念是尽量减少对系统现有库的依赖。
所以,第一次用macport的时候,需要很长时间让macport重新build整个基本库,什么perl啊,python啊的。

代价是较长的编译时间,较多的依赖关系下载。好处是不怎么依赖系统,也就是说,更新Mac OS不会破坏你现有的
package。

另外,macports安装所有的package到/opt/local下面。这样不会和系统现有的/usr/local有什么冲突。

3. Homebrew
这个比较新,是在Lion之后才兴起的。
工作方式和macport类似,也是下载source并在本地编译安装。但是和macports有两个根本的区别。
1) homebrew的理念是尽量使用系统现有的库。这样可以大大的减少编译时间。
2) package都安装到/usr/local下面。
这两点和macports是完全相反的。结果也是有利有弊。

最大的好处莫过于编译时间变短,安装简单。问题就是和系统紧密依赖。

另外Homebrew假设你的Mac是单用户系统,所以/usr/local的owner应该是你,而不是传统的root。
这个假设在大多数情况下都成立。
(当然你可以改变homebrew的安装路径,然后修改你的PATH)

另外,一个不太重要的区别,macport是用rsync来同步repository tree和获取新的package的。
homebrew是用git来管理repository的。
如果你是在内部网或者firewall后通过proxy使用,这点可能会给你带来影响--一些proxy不支持rsync的。

总结:
1. 忘了Fink吧,老了。
2. 如果你是重量级的Linux用户,希望使用所有的open source package,那么macports是你不二的选择。
3. 如果你只希望很快的安装一些便利的工具,那么homebrew是个不错的选择。

>>update(2012-05-02:23:53)
macports可以用svn来代替rsync。虽然selfupdate不可用,但是其他的sync, install等完全不影响。这样就可以绕过上面所说的proxy的问题了。
https://trac.macports.org/wiki/howto/SyncingWithSVN

还真是巧合,写这点东西的当天,macports的rsyncd服务器当机了。
https://trac.macports.org/ticket/34298
只能用svn来sync了。\o/
<<
分享到:
评论

相关推荐

    Guigna:MacPorts,Homebrew,Fink,pkgsrc的通用GUI。 我最初对此进行了分叉,希望有朝一日添加一个工具,以在其支持的不同软件包管理器之间转换软件包(另请参阅cooljeaniusPortfile2formula2finkinfo)

    标题中的“Guigna”是一个跨平台的图形用户界面(GUI),它专为在Mac操作系统上使用的几个不同的软件包管理器设计,包括MacPorts、Homebrew、Fink和pkgsrc。这个工具的主要目的是提供一个统一的接口来管理和操作这些...

    Guigna:支持Homebrew,MacPorts,Fink,pkgsrc的通用GUI的原型

    GUIGNA:Guigna的GUI不是Apple的:) Guigna *是同时支持Homebrew,MacPorts,Fink和pkgsrc的GUI的原型。设计与创意Guigna尝试通过创建通用类(GSystem和GPackage)来抽象化几个程序包管理器,同时保持最低限度的方法...

    MacPorts-2.1.2.tar.gz

    在使用MacPorts时,需要注意的是,它可能会与Apple的内置包管理工具如Homebrew或Fink存在冲突。因此,建议在选择包管理工具时要谨慎,以免造成不必要的软件冲突。 总的来说,MacPorts是一个强大的工具,尤其对于...

    fink-0.39.3

    在本文中,我们将深入探讨Fink的功能、工作原理以及如何在Mac OS X上安装和使用Fink。 **Fink的核心功能** 1. **包管理**:Fink提供了一个完整的包管理系统,它将各种开源软件编译为适用于Mac OS X的二进制格式。...

    MacPorts-2.2.1(10.9)

    MacPorts前称DarwinPorts[1],是一个软件包管理系统,用来简化Mac OS X和Darwin操作系统上软件的安装。它是一个用来简化自由软件/开放源代码软件的安装的自由/开放源代码项目,与Fink和BSD类ports套件的目标和功能...

    MacPorts-2.2.1(10.8)

    MacPorts前称DarwinPorts[1],是一个软件包管理系统,用来简化Mac OS X和Darwin操作系统上软件的安装。它是一个用来简化自由软件/开放源代码软件的安装的自由/开放源代码项目,与Fink和BSD类ports套件的目标和功能...

    Fink_install_apt-get 命令

    这个过程可能会比较复杂,因为`apt-get`是为Linux设计的,所以Fink可能需要构建一个与Mac OS X兼容的版本。 安装`apt-get`后,虽然不能完全期望它在Mac OS X上像在Ubuntu等系统中那样工作,但你仍然可以使用它的...

    fink-0.34.5.tar.gz

    Fink是一个在Mac OS X系统上构建和安装Unix软件包的项目,它允许用户获取、编译并安装各种开源软件,包括那些原本为Linux或其他类Unix系统设计的软件。这个版本的Fink被封装在tar.gz格式的压缩包中,这是一种常见的...

    fink_Command_line_Tool

    "Fink Command Line Tool"是苹果操作系统用户用于安装和管理开源软件包的重要工具,尤其是在iOS开发环境中。Fink是一个包管理系统,它允许用户在Mac OS X和iOS系统上获取、编译和安装各种开源软件,包括Gcc(GNU ...

    Fink实时大数据框架思维导图

    Flink基础教程 ...Fink实时大数据项目架构图 Flink流式计算平台架构图 Flink实时数仓架构图 Flink实时数仓业务数据流向图 Flink实时数仓知识结构图 大数据分析基于Flink实时数仓架构 日志分析-Flink方案

    fink_java_

    它支持批处理和流处理两种模式,广泛应用于大数据分析、事件驱动应用和实时数据处理场景。在Java平台上,Flink提供了丰富的API,使得开发者能够方便地构建分布式数据处理应用程序。本文将深入探讨Flink的Java API...

    fink demo 单词计数

    同时,该项目采用Maven作为构建工具,Maven是Java项目管理的一种标准方式,能够帮助开发者管理和构建项目,包括依赖管理和构建生命周期。 在Flink 1.12.1中,主要包含了以下关键知识点: 1. **Flink核心概念**:...

    brew高阶培训资料

    15. **与其他管理器对比**:与macports、fink等比较,Homebrew以其简洁的命令行接口和社区的活跃度受到许多开发者青睐。 通过这份“brew高阶培训资料”,你将能够深入理解Homebrew的工作原理,掌握高级技巧,更有效...

    PyPI 官网下载 | fink-filters-0.2.13.tar.gz

    《PyPI官网下载 | fink-filters-0.2.13.tar.gz——探索Python库在分布式系统中的应用》 PyPI(Python Package ...对于从事大数据处理、实时分析或者云原生应用开发的人员来说,理解和掌握fink-filters库是十分有益的。

    Fink Linux-开源

    Fink Linux 的用户也因此受益,他们不仅可以自由地使用、复制、修改和分发系统,还能享受到由全球开发者社区提供的持续支持和更新。 在Fink Linux的压缩包文件“npt-0.9.0”中,我们可以推测这可能是某个软件或工具...

    fink:Fink包管理器

    这是Fink,一个软件包管理系统,旨在将整个开放源代码软件引入Darwin和Mac OSX。 借助dpkg ,它可以维护单独的目录层次结构。 它会下载原始源代码发行版,并在必要时对其进行修补,为Darwin配置它们,然后编译并...

    Fink一个PHP编写的命令行工具用于检查网站是否有错误的页面或链接

    通常,这包括安装依赖项(如Composer)和运行指定的命令来启动Fink。 总的来说,Fink 是一款实用的PHP开发工具,它简化了网站链接和页面错误的检测过程,提升了网站维护的效率。对于任何关注网站性能和用户体验的...

    Fink:macOS软件包管理器-开源

    通过Fink,开发者和普通用户都能够享受到与Linux系统类似的包管理体验,从而在macOS上利用各种开源工具和应用程序。 Fink的核心功能在于自动化处理软件的下载、编译和安装过程。它维护着一个庞大的软件仓库,其中...

    fink入门介绍,包括从批处理到流处理简介

    fink入门介绍思维导图

    fink:PHP链接检查器

    安装作为独立工具或项目依赖项安装:作为项目依赖项安装$ composer require dantleech/fink --dev从PHAR安装从页面下载PHAR。使用Box构建自己的PHAR 您可以通过克隆此存储库并运行以下命令来构建自己的PHAR: $ ./...

Global site tag (gtag.js) - Google Analytics