homebrew的基本使用

命令cheat sheet

命令作用
brew config展示homebrew配置信息
brew ls展示homebrew配置信息
brew search foo搜索
brew search --fink foo在fink仓库中搜索,其他还包括macports,ubuntu…
brew create foo.tar.gz创建 formula
brew edit foo编辑 formula
brew update更新homebrew-core仓库,即更新规则库
brew upgrade foo更新某个具体的规则
brew fetch foo下载foo.tar.gz到HOMEBREW/downloads/MD5-FILENAME下
brew swtich foo version切换foo到某个版本
brew tap USER/REPO URL创建一个Tap

概念

cast是专用于macos的安装扩展,可以看成是mac安装dmg的CLI版本。目标是省去安装dmg时需要的拖拽动作。

formula和cask

formula是一个ruby脚本,可以是一个.rb文件,也可以是一个链接,还可以是通常的形式:定义在homebrew/core中的名称映射的ruby脚本,短名称或者全称。

formula的全称: U S E R USER USER/ R E P O REPO REPO/ F O R M U L A FORMULA FORMULA

如果省略 U S E R USER USER/ R E P O REPO REPO, 默认从homebrew/core中拉取

homebrew/core

是homebrew的formula的核心来源,参见github: homebrew/core

bottle

与source相对应,bottle表示已经编译好的二进制文件,source则是源代码

核心命令

commands

brew commands 列出所有可用的命令

search

search text
search /regex/

install

安装

fetch

brew fetch F O R M U L A FORMULA FORMULA 获取 F O R M U L A FORMULA FORMULA对应的二进制文件或者源文件(.tar.xz)

下载的文件会放在 H O M E B R E W HOMEBREW HOMEBREW/downloads/ M D 5 MD5 MD5- F I L E N A M E FILENAME FILENAME

link & unlink

brew link F O R M U L A FORMULA FORMULA F O R M U L A FORMULA FORMULA安装的所有工具链接到homebrew的bin目录下

unlink则移除所有的连接

link和unlink工作的机制:

  • 可执行文件软链接 : H O M E B R E W HOMEBREW HOMEBREW/Cellar/ F O R M U L A FORMULA FORMULA/bin/ P R O G PROG PROG <- H O M E B R E W HOMEBREW HOMEBREW/bin/ P R O G PROG PROG
  • share目录下的man page: H O M E B R E W HOMEBREW HOMEBREW/share/man/man8/ P R O G PROG PROG.8
  • share目录下的信息: H O M E B R E W HOMEBREW HOMEBREW/share/ P R O G PROG PROG/

switch

brew switch F O R M U L A FORMULA FORMULA V E R S I O N VERSION VERSION 将所 F O R M U L A FORMULA FORMULA链接的安装版本切换到 V E R S I O N VERSION VERSION

tap

brew tap U S E R USER USER/ R E P O REPO REPO U R L URL URL
定义一个URL作为formula的仓库,当复制仓库时,默认情况下使用git clone --depth=1. --full选项可以去掉–depth=1

通常情况下,就是在 H O M E B R E W HOMEBREW HOMEBREW/Library/Taps/ U S E R USER USER/ R E P O REPO REPO下面clone对应的仓库,该仓库应当有一个Formula文件夹

例子:brew tap a/b
会克隆仓库:https://github.com/a/homebrew-b/
到: H O M E B R E W HOMEBREW HOMEBREW/Library/Taps/a/homebrew-b

tap-info

brew tap-info T A P TAP TAP 显示某个 T A P TAP TAP的详细信息

–repo

brew --repo U S E R USER USER/ R E P O REPO REPO 显示某个tap的本地git目录

例子:brew --repo a/b
H O M E B R E W HOMEBREW HOMEBREW/Library/Taps/a/homebrew-b

home

brew home F O R M U L A FORMULA FORMULA 显示 F O R M U L A FORMULA FORMULA的homepage

比如brew home nginx, 打开nginx.org

edit

brew edit F O R M U L A FORMULA FORMULA 编辑 F O R M U L A FORMULA FORMULA对应的ruby文件,如果 F O R M U L A FORMULA FORMULA不存在,则打开一个新的 F O R M U L A FORMULA FORMULA文件

比如 brew edit unknown, 则会打开 H O M E B R E W HOMEBREW HOMEBREW/Library/Taps/homebrew/homebrew-core/Formula/unknown.rb

desc

brew desc F O R M U L A FORMULA FORMULA 显示 F O R M U L A FORMULA FORMULA的简短描述

info

brew info 可以输出简短的统计信息,包括brew安装的数量,占用的大小

log

brew log F O R M U L A FORMULA FORMULA 显示 F O R M U L A FORMULA FORMULA的git log信息

update

brew update 更新homebrew到最新版本,同时获取所有的formula

upgrade

brew upgrade F O R M U L A FORMULA FORMULA 更新 F O R M U L A FORMULA FORMULA,如果没有指定,则更新所有的 F O R M U L A FORMULA FORMULA

可以使用–dry-run来查看更新列表

cleanup

brew cleanup [ F O R M U L A FORMULA FORMULA| C A S K CASK CASK] 清除过期的文件,移除已安装的旧版本的formula,移除所有超过120天的下载文件

pin和unpin

当一个formula安装被pinned的时候,后续不再更新这个formula

pin 使formula不受upgrade的影响

doctor

brew doctor 显式诊断信息

services

brew services [run|stop|start|restart]管理服务

formula

brew formula F O R M U L A FORMULA FORMULA 显示 F O R M U L A FORMULA FORMULA的实际路径

例子:brew formula nginx
H O M E B R E W HOMEBREW HOMEBREW/Library/Taps/homebrew/homebrew-core/Formula/nginx.rb

cat

brew cat F O R M U L A FORMULA FORMULA 显示 F O R M U L A FORMULA FORMULA的内容

uses

command

brew command C M D CMD CMD 当执行 brew C M D CMD CMD时,显式 C M D CMD CMD的具体路径

环境变量

例子

在Mac使用gnu-getopt替换BSD getopt

BSD的getopt不支持长选项

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值