更新Homebrew
要获取最新的包的列表,首先得更新Homebrew
自己,这可以用brew update
办到。1
brew update
安装包
安装包的命令如下:1
brew install $FORMULA # 安装指定的包
可以在Homebrew Formulas搜索你需要安装的包。比如你要安装OpenMesh
库,在该网页中输入OpenMesh
点击搜索,会得到一个搜索结果,点击进去,可以看到安装命令如下:1
brew install open-mesh
但通过brew install
安装某些包提示找不到,可能已经废弃了,如ann,通过下面命令可以安装,参考这里.1
brew install brewsci/science/ann
1 | brew unlink opencv |
卸载包
1 | brew uninstall $FORMULA # 卸载指定的包 |
注意:卸载一个包不会同时卸载其依赖的包。
更新包
通过下面命令可以查看所有可更新的包1
brew outdated
然后就可以用brew upgrade
去更新了。Homebrew
会安装新版本的包,但旧版本仍然会保留。1
2brew upgrade # 更新所有的包
brew upgrade $FORMULA # 更新指定的包
清理旧版本
一般情况下,新版本安装了,旧版本就不需要了。可以用brew cleanup
清理旧版本和缓存文件。Homebrew
只会清除比当前安装的包更老的版本,所以不用担心有些包没更新但被删了。1
2
3brew cleanup # 清理所有包的旧版本
brew cleanup $FORMULA # 清理指定包的旧版本
brew cleanup -n # 查看可清理的旧版本包,不执行实际操作
锁定包
如果经常更新的话,brew update
一次更新所有的包是非常方便的。但有时候会担心自动升级把一些不希望更新的包更新了,这时可用brew pin
去锁定这个包,然后brew update
就会略过它了。1
2brew pin $FORMULA # 锁定某个包
brew unpin $FORMULA # 取消锁定
查看包信息
brew info
可以查看包的相关信息,包括包依赖和相应的命令。1
2brew info $FORMULA # 显示某个包的信息
brew info # 显示安装了包数量,文件数量,和总占用空间
brew deps
可以显示包的依赖关系,可以用来查看已安装的包的依赖,然后判断哪些包是可以安全删除的。1
brew deps --installed --tree # 查看已安装的包的依赖,树形显示
如输出的python
依赖如下:1
2
3
4
5
6
7python
├── gdbm
├── openssl
├── readline
├── sqlite
│ └── readline
└── xz
查看包列表
1 | brew list # 列出所有安装的包 |
brew list命令还有一些可选参数[--unbrewed][--versions [--multiple]] [--pinned][formulae]
- 如果给定
[formulae]
参数,将列出该包的所安装的文件,如果加上--verbose
参数,将进一步列出该包所有子文件夹中的文件。 - 如果给定
--unbrewed
,list all files in the Homebrew prefix not installed by Homebrew. - 如果给定
--versions
,显示所有包或者某个包([formulae]
参数指定)的版本号,如果进一步给定—multiple参数,将只显示多版本安装的包。 - 如果给定
--pinned
参数,将现实所有或者某个包被pin的包。
安装其他仓库的包
一般情况下我们安装的都是主仓库(Homebrew’s master repository)中的包,但有些包可能在其他仓库,如brewsci/science
和homebrew/core
。这时可以通过brew tap
命令做到,比如:1
brew tap brewsci/science
然后你就可以直接用brew install
安装brewsci/science
中的包:1
brew install $FORMULA
更新源
如果homebrew在下载或者更新的时候速度超级慢,可以考虑更换homebrew的下载源,速度会大大提升。
中科大源
1 | # 替换 Homebrew |
清华源
1 | git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git |
恢复源
1 | git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git |