Homebrew 能干什么
Homebrew 除了是 macOS 的包管理器也可以装在 Linux 上成为 Linux 的包管理器,仅需要执行相应的命令,就能下载安装需要的软件包,省去了下载、解压、拖拽等繁琐的步骤。
用 Homebrew 官方的话来总结就是:安装 Apple(或 Linux 系统)没有预装但你需要的软件。比如说安装 MongoDB,只需要执行以下命令就可以安装,前提条件是环境一定要配置好。
简单一条命令,就可以实现包管理,还不用担心依赖/文件路径等问题。
Homebrew 主要由四个部分组成: brew、homebrew-core 、homebrew-cask、homebrew-bottles。
- brew:Homebrew 的源代码仓库
- homebrew-core:Homebrew 的核心源
- homebrew-cask:提供 macOS 应用和大型二进制文件的安装
- homebrew-bottles:预编译二进制软件包
再来了解一下 Homebrew 的接个核心概念,后续会经常用到。
- formula(e),安装包的描述文件,带 e 为复数
- cellar,包安装好后所在的目录
- bottle,预先编译好的包,不需要再下载源码编译,速度会快很多,官方库中的包大多数是通过 bottle 方式安装的
- tap,下载源
- cask(s),安装 macOS native 应用的扩展,可以理解为有图形化界面的应用,带 s 为复数
- bundle,描述 Homebrew 依赖的扩展
安装配置 Homebrew
按理说,Homebrew 的安装方式非常简单,一种高效且科学的安装方式,那就是使用镜像安装。 Gitee 上有开源作者提供了一键安装包,只需要执行以下命令就可以了。
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安装脚本里提供了中科大、清华大学、北京外国语大学、腾讯、阿里巴巴等下载源。
别选其他镜像源,就选中科大,这速度比其他镜像源快多。
这个安装脚本非常的智能,几乎可以一件帮我们搞定所有问题。
https://gitee.com/cunkai/HomebrewCNopen in new window
brew 本体安装成功后,会提示我们配置国内镜像源。
nice,安装完成了。执行下面这几个命令体验下。
- brew ls 查看本地命令;
- brew search mongodb 查找软件;
- brew -v 查看版本;
- brew update 更新版本;
- brew install –cask firefox 安装图形化界面软件
- brew config 查看配置。
brew 和 brew cask 的区别
这里顺带说一下 brew 和 brew cask 的区别,这也是一开始我使用 brew 时困惑的一个点。
以前的版本中,是可以直接 brew cask list 这样执行命令的,现在改成了 brew list –cask。
brew 是从下载源码开始,然后编译(不一定,有些有现成的 bottle)解压,通过 ./configure && make install 进行安装,同时会包含相关的依赖库。环境变量也是自动配置的。
brew cask 是下载解压已经编译好了的软件包(.dmg/.pkg),放在统一的目录中,省去了手动去下载、解压、拖拽等蛋疼步骤。
通过 brew search google 我们也可以看得出两者之间的区别。
- 「Formulae」一般是那些命令行工具、开发库、字体、插件等不含 GUI 界面的软件。
- 「Cask」就会包含一些 GUI 图形化界面的软件,如 Google Chrome、FireFox 、Atom 等
使用 Homebrew
Homebrew 安装配置完成后,我们来实操体验两把。
这里是 homebrew 常用命令的一个清单,可供参考。
命令 | 描述 |
---|---|
brew update | 更新 Homebrew |
brew search package | 搜索软件包 |
brew install package | 安装软件包 |
brew uninstall package | 卸载软件包 |
brew upgrade | 升级所有软件包 |
brew upgrade package | 升级指定软件包 |
brew list | 列出已安装的软件包列表 |
brew services command package | 管理 brew 安装软件包 |
brew services list | 列出 brew 管理运行的服务 |
brew info package | 查看软件包信息 |
brew deps package | 列出软件包的依赖关系 |
brew help | 查看帮助 |
brew cleanup | 清除过时软件包 |
brew link package | 创建软件包符号链接 |
brew unlink package | 取消软件包符号链接 |
brew doctor | 检查系统是否存在问题 |
brew tap [user/repo] | 将开源仓库添加到源 |
brew 授权路径
sudo chown -R $(whoami) /usr/local #写上需要权限的路径(新版本 homeBrew不在支持根目录权限)