如果你有一台MAC,居然不知道HOMEBREW,那就丧失了玩MAC的乐趣了。HOMEBREW对MAC来说相当于咖啡伴侣一样的存在。
现在你是否有很多的问号?HOMEBREW是什么鬼?嗯,别急,小白都是这样过来的,比如博主。
什么是Homebrew?
先简单的概括下,homebrew能用命令行统一管理Mac app store(简称MAS)里的应用程序,也可以下载MAS里没有的其他优秀桌面软件,并且还有自建软件的TAP等一些高级功能。
它是由Max Howell开发的一款Mac OS平台下用Ruby脚本和GIT管理来实现的软件包管理工具,现在由GitHub上的软件工程师Mike McQuaid维护开源代码。
主要从下载的源码包解压(包含相关依存库),同时自动配置好各种环境变量,并且 Homebrew 会自动为你解决软件包的依赖问题。可以一条命令完成软件的安装、升级、卸载等操作。
官网为https://brew.sh ,通过 Homebrew 下载安装的软件全部来自对应的软件官网,无需担心下载源的安全问题。,如果是原本要付费的应用也仍旧是要购买的,并不是用 Homebrew 就能绕过付费的门槛。
如何安装Homebrew ?
注意MAC只支持10.13或更高版本使用HOMEBREW,其他版本安装都会不停报错,比如报错(7)Failed to connect to raw.githubusercontent.com port 443: Connection refused error: Error。)
第一步、在“Launchpad”文件夹的”其他”文件夹内找到“终端”工具。
第二步、在终端输入以下命令后回车(失效的话就从官网上找到最新命令),安装过程中根据提示,再按一次回车,接着会要求填入密码,你就把电脑的开机密码盲打进去。
如果你的命令行工具跟系统版本不匹配的,这个命令会自动给你下相配系统的xcode的命令行,中间会让你再输入一次开机密码。
/usr/bin/ruby -e "$(curl -fsSL https://hellogithub.cn-bj.ufileos.com/file/brew_install.sh)"
命令安装需要半个小时左右,然后装tapping速度有500多k,如果太慢应该是安装源不对,或者网速出问题了。成功以后如下图所示,下载成功一个2.2.15版本的HOMEBREW。
BREW专有名词解释:
- Taps:(third-party-repositories)就是第三方存储库。
- formulae:安装包的描述文件,formula(e) 为复数。
- bundle:描述 Homebrew 依赖的扩展。
- bottle:预先编译好的包,不需要现场下载编译源码,速度会快很多。
Homebrew的文件路径:
- Homebrew :brew程序所在路径,homebrew的仓库位置默认位于/usr/local/Homebrew 下
- Cellar :文件夹存放的是所有包安装所在路径,包括二进制,文档和配置文件,按照这样Cellar/包名/版本号/ 的形式来安放。
- keg:具体某个包所在的目录,是 cellar 的子目录。
- opt :由于版本号随着更新而改变的,所以需要一个固定不变的路径作为我们访问二进制和文档的路径,这就是opt 的作用。
- bin :所有包安装之后二进制都会链接到这个路径下
- share :所有包安装之后的文档都会链接到这个路径下
- etc :同上,所有包的配置文件
- lib :同上,所有包相关库文件
- Caskroom :app文件
注意:
1、网上很多命令的安装源都很慢,如果你之前不小心用别的命令装到一半失败了,那要仔细查看之前失败的报错内容,然后根据报错内容删除已经安装过一半的文件夹,这样重装才不会出错。
2、Mac下/usr/local目录默认是隐藏的,这些系统目录下的文件读写是需要root权限的,如果把软件安装到用户目录,这样不需要 root 权限,或者你也可以对目录进行ROOT用户授权。
想要打开隐藏的/usr/local目录,需要打开Finder,然后使用command+shift+G,在弹出的目录中填写/usr/local就可以看见了。
3、homebrew-core 如果没有指定安装路径,会默认安装在需要系统 root 用户读写权限的/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
目录下。
Homebrew 的基本命令
网速不好再加上HOMEBREW执行命令时会自动更新,所以使用 Homebrew 安装软件可能会长时间卡在 Updating Homebrew 这个步骤,最好有学术上网。
如果卡了就按住 control + c 组合键之后命令行会显示 ^C,就代表已经取消了 Updating Homebrew 操作,大概不到 1 秒会重新去执行原本所操作的命令,此法是一次性的(推荐使用)。
永久性的方法有两个:
一、更改成国内的 Homebrew 镜像源加速安装下载命令,也就是换个软件服务器下载。homebrew是托管于github,如果你可以访问这个网站就不需要换了。如果不能访问就更改下载源,相当于给你的git仓库换一个远程地址。
二、可以用环境变量禁用命令来禁用每次安装前的自动更新:HOMEBREW_NO_AUTO_UPDATE=1 brew info mysql
brew常用指令:
- 搜索软件:brew search 软件名,除了在终端搜索软件,你还可以进入 HOMEBREW官网搜索应用资源。
如果你忘记了软件名,可以不用输入全称搜索,结果出来太多的话,你可以用正则表达式命令搜索。brew search /^vi/ 表示只能是vi开头 brew search /^vi\\w$/ 表示只能是vi开头并且只有三个字母
- 安装软件:brew install 软件名,安装指令并非只支持名字,也可以用文件安装包括网络文件和本地文件。
brew install 文件包.rb # 本地 brew install 网址 # 远程
- 卸载软件:brew uninstall 软件名
- 更新过时的包:brew outdated 软件包名(不带包名,就会更新所有的包)
- 更新 Homebrew:brew update(更新 Homebrew 自身,比如各个软件的索引。需要先update,然后upgrade,再cleanup,用命令组合:brew update && brew upgrade && brew cleanup)
- 升级软件:brew upgrade 软件名(不带软件名就升级BREW自身。)
- 删除老版本以及文件缓存:brew cleanup
- 查看已安装包列表:brew list
- 查看包信息:brew info 软件名
- 查看 Homebrew 版本:brew -v
- Homebrew 帮助信息:brew -h / brew help
- brew doctor:Homebrew的自我检测命令,看看有没有配置不对的地方。
brew tap
命令:不带参数的话,将会列出当前所有仓库,比如自带的CORE仓库。如果装了CASK扩展,就会显示CASK仓库。可以添加多个tap formulae 。
如果你在核心仓库没有找到你需要的软件,那么你就需要安装第三方的仓库去安装你需要的软件。tap命令的仓库源默认来至于Github,但也不限制于这一个地方。brew install vim # 软件默认安装在homebrew/core里 brew install username/repo/vim # 安装在你自定义的repo,即TAP仓库里
你也可以用官网的命令自己去创建 Homebrew 包、自制TAP、 cask 。
Homebrew Cask
有很多人搞不清楚Homebrew 与 Homebrew Cask的区别,其实Homebrew 偏向于开发,主要用于在终端使用命令行的软件。
我们只需要知道,除了在终端使用的软件,如果你只是想要管理 App Store的软件的话,只需使用 Homebrew Cask 就足够了。
Homebrew Cask:是Homebrew 附带的扩展、用来安装和管理GUI 的 macOS app的工具,作为已经编译好了的应用包 (.dmg/.pkg),统一放在目录 /opt/homebrew-cask/Caskroom 中,brew cask可以看作是苹果官方app store的补充。
有很多好用免费 的Mac 软件没有在 App Store 上架,一般我们都要去软件所在的官网下载安装,这样太麻烦了。使用 Cask就可以通过一行命令从软件官方网站直接下载软件包,在终端后台安装。
通过 Cask 安装的软件也会在应用程序里显示,跟从 App Store 安装的软件没啥区别,Cask 安装只是比普通安装方法节省了时间和步骤,还可以统一更新升级管理所有的应用软件。
如何安装Cask?
首先在终端输入brew install cask
命令行,注意网速很重要,不然会安装失败,失败了就重新执行命令,它能断点安装。这个安装命令有点慢,估计要两个小时以上。
然后输入brew cask
验证命令完整性,如果没有安装成功,会开始克隆 Github 上的 caskroom/cask 库到本机 。如果CASK安装成功了,会出现”no subcommand given”找不到子命令这种错误,如下,这个就代表成功了
Cask常用命令:如果卡在更新,不要用取消命令,等待就好。
brew cask install 软件名
:安装软件命令brew cask uninstall 软件名
:卸载brew下载的应用,不要从 App Store 直接删除,不然数据会被保留。brew cask zap 软件名
:最干净的卸载,完整地抹掉一个应用。brew cask info 软件名
:查找相关软件的信息brew cask list
:列出通过 Homebrew Cask 安装的包brew cask upgrade
:升级Homebrew Caskbrew cask help
:可显示所有其他的 commands命令。
当然CASK只是MAS的补充,还有更多下载MAS应用程序的方法,具体可以参考下文方法。
文章目录[隐藏] 方法一:下载MAS老版应用软件 方法二:曲线救国法(推荐) 方法三:HOMEBREW 方法四 […]
MAS
注意此命令适合管理在APP STORE里已购列表中存在的应用软件,mas命令行无法在MAS中完成“购买”这个操作,即无法安装之前没有下载过的新软件。
mas作为在终端上的 Mac App Store,因为不用加载图形文件,所以速度很不错,比MAC上的App store快。如果你想批量快速安装或更新 Mac App Store 应用,那用MAS管理正好。
只要把以下代码复制到终端(Terminal)后运行即可:brew install mas
此命令马上很快就安装好了。
Mac App Store 中每一个应用都有自己的识别码(Product Identifier),对于MAS中新上架的应用,可能因为缓存未更新而无法查询到对应的应用识别码,那就需要去应用的链接里查看数字识别码。
mas根据识别码安装与更新应用,一般用以下命令获取应用的识别码:
- 用命令
mas search 关键词
,大概 1 秒会显示全部相关识别码、应用名以及所有版本。 - 用命令
mas list
会显示已安装的应用及其识别码,也会显示版本号。
得到识别码后,用mas install 软件识别码
命令来安装应用软件。
补充知识点:
HOMEBREW的打包的备份命令,输入
brew bundle dump
,可以把已安装的MACOS软件输出成 Brewfile。迁移到新电脑时,只要根据 输入
brew bundle
,就可以一键安装来自 Mac App Store 的应用还有所有的HOMEBREW的命令行、库等。