Homebrew 的安装和 brew 命令的使用
一、前言
Homebrew
是 mac
下的包管理器,由国外大神 Max Howell 开发的一款包管理工具,类似Debian的apt
,他可以安装任何你想安装的东西。其基于命令行模式,使用命令 brew
管理软件。类似 ubuntu
下的 apt-get 、fedora
下的 yum
。
二、安装 brew 命令
打开mac
终端软件,输入下面的内容,然后回车:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
出现如下画面证明安装成功。
我们查看帮助再次验证一下是否安装成功。
至于安装过程中遇到的问题,可参考博文《ReactNative进阶(一):ReactNative学习资料汇总》。
三、应用 brew 安装软件
例如安装 wget
,在终端执行下面的命令:
brew install wget
安装好后,终端中输入 wget
,然后回车,验证是与否安装成功:
$ wget
wget:未指定 URL 用法:
wget [选项]… [URL]…
请尝试使用“wget --help
”查看更多的选项。
在 homebrew
中,wget
被称作一个formula
,意思是配方、公式。
brew 将软件安装在了哪里?
上面我们安装了 wget
,我们看下安装位置,在终端输入:
$ which wget
/usr/local/bin/wget
/usr/local/bin/wget
只是一个软链接(类似windows
下的快捷方式)。
$ ls -l /usr/local/bin/wget
lrwxr-xr-x 1 letian admin 32 2 5 2018 /usr/local/bin/wget -> ../Cellar/wget/1.19.4_1/bin/wget
由此可知,wget
的真正物理位置是/usr/local/Cellar/wget/1.19.4_1/bin/wget
。
其实,brew
将软件都安装在/usr/local/Cellar/
目录下,然后再做一个软链接到 /usr/local/bin
下面。
Cellar 是 地窖、酒窖的意思。
四、使用 brew cask 一站式安装
brew cask
可以将软件本身、依赖字体、依赖插件等一次性安装好。例如安装 Firefox
火狐浏览器:
brew cask install firefox
安装 firefox
的另一个方法是去官网下载 dmg
安装包,按照 dmg
的方式安装。
一般,
brew install
是通过下载源码,编译安装;brew cask
下载的编译好的文件,不用编译,直接安装。
五、brew 的更多用法
brew
显示使用帮助
终端中直接输入brew
,并回车。
$ brew
Example usage: brew search [TEXT|/REGEX/] brew info [FORMULA…]
brew install FORMULA… brew update brew upgrade [FORMULA…]
brew uninstall FORMULA… brew list [FORMULA…]Troubleshooting: brew config brew doctor brew install --verbose
–debug FORMULA // … 省略部分内容
- 卸载通过
brew install
安装的软件
例如我们要卸载 wget ,可以:
brew uninstall wget
- 更新通过
brew install
安装的软件
例如我们要更新 wget,可以:
brew upgrade wget
- 查看通过
brew install
安装了哪些软件
brew list
- 通过
brew info
查看一个软件的信息
例如:
brew info wget
- brew 自检
通过自检,可以发现一些问题,brew 会给出解决方案:
brew doctor
- 搜索软件
通过brew search
可以搜索 formula 和 cask 。
例如搜索 wget:
$ brew search wget
==> Formulae
wget ✔ wgetpaste homebrew/linuxbrew-core/wget
可以看到有3个formula
的名称中含有 wget,其中wget
已经安装了,所以后面有个对号。
例如搜索 chrome
:
$ brew search chrome
==> Formulae
chrome-cli homebrew/linuxbrew-core/chrome-cli
chrome-export homebrew/linuxbrew-core/chrome-export
==> Casks
chrome-devtools dmm-player-for-chrome mkchromecast
chrome-devtools dmm-player-for-chrome mkchromecast
chrome-remote-desktop-host epichrome homebrew/cask-versions/google-chrome-beta
chrome-remote-desktop-host epichrome homebrew/cask-versions/google-chrome-canary
chromedriver google-chrome homebrew/cask-versions/google-chrome-dev
chromedriver google-chrome
可以看到既有 formula
,也有 cask
。注意,cask
要通过 brew cask install
安装。
- 查看
brew cask
的使用帮助
$ brew cask
Homebrew Cask provides a friendly CLI workflow for the administration
of macOS applications distributed as binaries.
Commands:
audit verifies installability of Casks
cat dump raw source of the given Cask to the standard output
create creates the given Cask and opens it in an editor
doctor checks for configuration issues
edit edits the given Cask
fetch downloads remote application files to local cache
home opens the homepage of the given Cask
info displays information about the given Cask
install installs the given Cask
list with no args, lists installed Casks; given installed Casks, lists staged files
outdated list the outdated installed Casks
reinstall reinstalls the given Cask
style checks Cask style using RuboCop
uninstall uninstalls the given Cask
upgrade upgrades all outdated casks
zap zaps all files associated with the given Cask
- 卸载通过 brew cask 安装的软件
通过brew cask uninstall
卸载即可,例如卸载 firefox:
brew cask uninstall firefox
- 通过
brew cask info
查看软件信息
例如查看 firefox 的信息:
brew cask info firefox
目录结构
/usr/local/Cellar
: 存放命令行工具/usr/local/Caskroom
: 存放带图形化界面的工具
5.1 配置源
国内访问默认的源会比较慢。可修改为国内的源:
cd "$(brew --repo)"
git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles
默认的源地址: https://github.com/Homebrew/brew
。
禁止 brew
执行命令时自动更新
export HOMEBREW_NO_AUTO_UPDATE=true
六、废弃用法
在老版本的 brew
中,cask
需要单独安装,安装方法是:
brew tap caskroom/cask
brew install brew-cask
现在的brew,已经自带cask,所以不需要单独安装了。
brew cask search
命令已经废弃,直接用 brew search
即可,搜索结果中会对 cask 的结果做区分。
七、拓展阅读
- 点赞
- 收藏
- 关注作者
评论(0)