Mac OS包管理软件brew和port介绍

Mac OS中主要有三种包管理工具:MacPorts,Homebrew,Fink。这里简介Homebrew和MacPorts的区别:

MacPorts
因为 Mac OS 源自 BSD,因此将 BSD 中的 Port 移植到 OS 成为 MacPorts 就一点不奇怪。MacPorts 会独立于 OS 自建一套仓库树,OS 的包执行目录为 /usr/local,而 MacPorts 的包执行目录为 /opt/local。MacPorts 尽量不影响系统现有程序,自然也就尽量少复用系统已有程序。MacPorts 安装包的过程是下载该程序的所有源文件及其依赖包,然后在本地进行 Build 生成最终的可执行文件。这样做的好处是在系统中存在一套独立的生态环境,从而不影响系统自身的生态环境,缺点就是浪费了系统自身的生态资源。

Homebrew
在 Lion 之后兴起的包管理工具,工作方式与 MacPorts 类似,下载源代码然后本地 Build。不同之处在于 Homebrew 采取与 MacPorts 截然相反的态度,对系统资源是最大程度的利用,因此可以说 Homebrew 是直接对现有系统生态环境进行修改,所有包也是直接安装到现有的生态环境中,这样做的好处是节约了系统资源,但缺点是每一次操作都是直接对系统进行修改,严重依赖和影响现有系统。

使用 MacPorts 和 Homebrew 都需要预装 XCode Command Line Tools,即意味着还需要提前预装 XCode。(根据官方文档来看,Fink 安装比较新的工具包时,因为提前编译完成所以无需依赖 XCode,但对于一些不是二进制的包,如果需要本地编译,还是需要依赖 XCode。换而言之,如果想在 OS 中编译源码,都需要 XCode 提供支持)

  • Homebrew

    1. Homebrew的安装在http://brew.sh/index_zh-cn.html上面有介绍,很简单。一般前提是要安装ruby,然后执行一段脚本即可安装。
    2. 切换安装源
      #进入安装目录
      %> cd /usr/local/Homebrew
      #切换清华镜像源
      %> git remote set-url origin git://mirrors.tuna.tsinghua.edu.cn/homebrew.git
      #切换中科大镜像源
      %> git remote set-url origin http://mirrors.ustc.edu.cn/homebrew.git
      #更新
      %> brew upgrade
      
  • MacPorts

    1. 安装 从https://www.macports.org/install.php中下载对应dmg安装包后双击安装
    2. 更改安装源,参考:https://www.leg.uct.ac.za/mirrors/packages/macports
 Kotlin: 几种设计模式 MacOS /usr/bin/目录下 Operation not permitted的解决 

Comments