看看 brew 官网的介绍,
The missing package manager for OS X
Mac OS 没有提供软件包管理器,不能像在 linux 上能使用 apt-get 那样,从软件仓库中搜索、安装、升级软件。就有大神 Max Howell 写了个 brew。
brew 项目在 github 上的地址是 https://github.com/Homebrew/homebrew,brew 本身及每个软件的版本更新维护都是在这里通过提 pr 的方式进行。
安装
1
|
|
常用命令
1 2 3 4 5 6 7 8 9 10 11 |
|
brew 的子软件包
我们常用的其实是 brew 的主包,里面有比较常用的软件,比如 erlang
、cloc
、cmake
、tree
等。但还有些比如科学计算相关的软件,并不是很常用,数量又很多,就会根据类型单独分到一个子软件包里。在安装 brew 的时候,并不会将这些软件的 Formula
下载到本地,要想使用的话,应该先安装该子软件包。
比如 opencv 在 science 子软件包里,安装的时候需要先使用命令 brew tap homebrew/science
将 science
子软件包下载下来,然后再 brew install opencv
。或者你也可以直接指明软件所在的子包,通过 brew install homebrew/science/opencv
命令来安装,这个命令会先 tap
该子软件包,再安装软件。homebrw/science
项目的 github 地址是:https://github.com/Homebrew/homebrew-science,tap下来的 science 的 Formula
放在 /usr/local/Library/Taps/homebrew/homebrew-science
目录下。
你可以在 github 上看到 brew 的其它子软件包:https://github.com/Homebrew,比如 homebrew-games
、homebrew-emacs
等。
使用 brew cask
brew 会对依赖的软件也进行安装,并且配置环境,再复杂的安装也就是一条命令而已,这对需要安装各种运行环境的程序员来说,简直是天大的福音。但 brew 是通过下载源码的方式进行安装的,alfred、dropbox、chrome 等软件能使用 brew 直接安装软件么?答案是可以的,有工具 brew cask。
官网地址:caskroom.io
github地址:brew cask
它扩展了 brew,以优雅、简单、快速地安装和管理 OS X 图形界面程序为己任,目前已收集了 2941 个常用软件,并有 433 个维护人员。
brew tap caskroom/cask # 添加 github 上的 caskroom/cask 库
brew install brew-cask # 安装 brew-cask
brew cask install google-chrome # 安装 chrome 浏览器
brew update && brew upgrade brew-cask && brew cleanup # 更新
brew search <package_name> # 搜索想要的软件。
brew cask装的软件会放到 /opt/homebrew-cask/Caskroom
下面,然后软链接到 ~/Applications
。 跟我们手动安装软件的默认位置 /Applications
不一样。
一些我安装的软件:alfred appcleaner cheatsheet chrome dropbox haskell-platform launchrocket onepassword totalfinder
通过 brew cask 安装 Finder 的文件预览插件
我们可以在 Finder 里选中某个文件后,敲一下空格键,Finder 会弹出一个这个文件的预览窗口,这会让我们直接看到这个文件的内容,而不用打开关闭该文件,在是个非常实用的功能。如果你的 Finder 像我一样始终是以分栏
的方式显示的话,在选中文件后,Finder 右侧会直接显示改文件内容,那就更方便了。
但是,支持预览的文件格式只有系统默认的一些如图片、pdf等,还有很多格式的软件,如 json、xml、markdown、html等,我们是不能通过 Finder 的文件预览来查看的。
所以,强烈推荐装一些插件
1
|
|
其它
如果你经常使用 Alfred 启动程序,那么你会想 Alfred 可以搜索 brew cask 安装的程序,实现这些仅需运行:
1
|
|
此外,你还可以通过 brew cask 安装 launchrocket,来管理通过 brew 安装的 service。