Mac包管理工具对比-HomeBrew

本文对比了Mac平台上的三种包管理工具:HomeBrew、Fink和MacPorts。重点介绍了HomeBrew的安装、工作原理、软件架构以及卸载方法。HomeBrew使用Ruby脚本作为安装程序,并依赖GitHub进行更新和扩展。它通过Formula文件描述软件包的安装过程,提供便捷的包管理和软件安装。

作为Linux的忠实爱好者,真的是无法容忍一款没有命令行包管理工具的类unix操作系统,比如说Mac,但又割舍不下对苹果本子的喜爱,于是我决定使用第三方软件填补Mac在这一方面的缺失,搜索一番之后发现原来早就有此类开发项目存在,所以说生活在当下真是幸福,Mac平台下的第三方包管理工具主要有三款:Fink,Macports和HomeBrew,我自然不会放弃试用上面任何一款包管理工具,之前也提及过任何一款包管理工具提供的功能以及实现功能的机制都是类似的:

Mechanism: get resource from Remote source repository & provide dependency management of packages
Function: 1. search packages from remote side; 2. download/install/upgrade packages from remote side; 3. list packages installed and files of special package; 4. uninstall packages

上面是对包管理工具的essential function简要概括,下面分别安装三款工具作对比。

HomeBrew

HomeBrew使用ruby脚本作为安装程序,可见https://brew.sh

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

上述命令的意思是调用ruby解释器执行网址指定的install脚本,和直接用浏览器将网址定义的文件下载到本地然后ruby <file>相同的效果。

在terminal中敲入上述命令,在选项出敲击回车即可,部分回显信息摘录如下。

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/bin
==> The following existing directories will have their owner set to ftericsson:
/usr/local/bin
==> The following existing directories will have their group set to admin:
/usr/local/bin
==> The following new directories will be created:
/usr/local/Cellar
/usr/local/Homebrew
/usr/local/Frameworks
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/opt
/usr/local/sbin
/usr/local/share
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var

Press RETURN to continue or any other key to abort

可见HomeBrew默认安装路径是/usr/local/,brew命令在/usr/local/bin/brew,该命令为shell脚本。在HomeBrew的世界里formula的概念很重要,每个软件包都有对应的formula文件,文件为ruby脚本,大体描述了软件包的用处,下载地址,需要直接从homebrew bottle下载包(bottle do)还是从脚本定义的URL下载包,然后就是安装软件所需要的操作,包括compile,建立softlink和文件移动等。

localhost:Formula ftericsson$ cat /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/zzz.rb 
class Zzz < Formula
  desc "Command-line tool to put Macs to sleep"
  homepage "https://github.com/Orc/Zzz"
  url "https://github.com/Orc/Zzz/archive/v1.tar.gz"
  sha256 "8c8958b65a74ab1081ce1a950af6d360166828bdb383d71cc8fe37ddb1702576"

  head "https://github.com/Orc/Zzz.git"

  bottle :unneeded

  # No test is 
<think> 嗯,用户询问关于MacBook M芯片的包安装管理工具推荐。这个问题很实用,因为苹果芯片架构转换后确实需要兼容的工具。用户可能是开发者或技术爱好者,正在配置新设备。 首先想到Homebrew作为首选方案,它在M系列芯片上表现稳定,通过Rosetta兼容x86应用,原生支持arm64。需要详细说明brew install和brew cask的区别,这是新手常混淆的点。 接着考虑MacPorts作为替代方案,特别是需要更严格包隔离的场景。要对比编译耗时问题,避免用户踩坑。但总体还是更推荐Homebrew,因为生态更活跃。 对于Python开发者,必须提Anaconda/miniforge的M1适配情况,强调conda-forge频道的重要性。Node.js用户则建议用nvm处理多版本问题。 最后补充桌面应用安装渠道,比如Firefox官网直接提供原生支持包。用户可能没意识到有些应用无需通过包管理器管理。 准备在相关问题里覆盖:架构差异影响、环境变量配置、虚拟化兼容性问题。这些都是M芯片用户后续可能遇到的典型问题,特别brew服务管理容易被新手忽略。 要注意避免信息过载,把核心工具讲清楚就行,用户可后续追问细节。回答末尾会严格按格式输出相关问题列表。 </think> 针对MacBook M系列芯片(Apple Silicon)的包管理工具推荐如下,重点考虑对ARM架构的原生支持和生态兼容性: ### 1. **Homebrew (首选推荐)** - **原生支持ARM**:通过`/opt/homebrew`路径原生运行,无需Rosetta转译 - **安装命令**: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` - **使用优势**: - 生态最丰富(超6000个软件包) - 支持`brew install --cask`安装图形化应用(如VSCode、Chrome) - 自动处理依赖和路径配置 - **兼容性**:通过`arch -x86_64 brew`可运行x86版本(兼容旧包) ### 2. **MacPorts (备选方案)** - **特点**:严格的依赖隔离,适合需要特定版本控制的场景 - **ARM支持**:完全适配Apple Silicon,需在安装时选择ARM架构 - **安装**: ```bash git clone https://github.com/macports/macports-base.git ./configure && make && sudo make install ``` ### 3. **语言专用工具** - **Python**: - `miniforge`(原生ARM支持):替代Anaconda,专为M1优化 - `pip` + `venv`:官方方案,但需验证包是否含ARM轮子 - **Node.js**: - `nvm` + `arch -arm64 zsh`:切换ARM版Node ```bash nvm install --lts --arch=arm64 ``` ### 4. **图形化应用安装** - 直接下载`.dmg`:多数主流应用(如Adobe CC、Office)已原生支持ARM - **App Store**:苹果官方渠道,确保兼容性 > ⚠️ **避坑提示**: > - 避免混用HomebrewMacPorts(路径冲突) > - 检查包ARM支持:`brew info <package>`查看`arm64`标识 > - 终端配置:在`~/.zshrc`添加`eval "$(/opt/homebrew/bin/brew shellenv)"`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值