0x00 情景与简介
今天和朋友聚餐聊天,A说他换了MBP,B说他常听说macbook很适合开发,然后我说这可能归功于Homebrew吧。A反问Homebrew是什么?emmmm…
Homebrew是由Ruby语言写成的macOS软件包管理器。如果使用过linux系统的话,它的功能就类似于apt或者yum这样的包管理器。网站在https://brew.sh/。同时,对于开发者,支持其自己创建自己的Homebrew包。
Homebrew背后做了很多将安卓过程标准化、自动化的工作,能让使用者轻松管理好mac上软件。Homebrew会将文件安装到它本身目录之内,Homebrew安装到任意位置。Homebrew会将软件包安装到独立目录,并将其文件软链接至 /usr/local。简单来说,就是通过Homebrew可以轻松安装一些在mac上安装起来比较复杂的软件,并且自动加入到bash的环境变量中。
0x01 安装与使用
通过如下命令在macOS中安装Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/homebrew/install/master/install)"
查看Homebrew帮助
brew help
man brew
安装
brew install <packageName>
卸载
brew uninstall <packageName>
不确定Homebrew是否有自己要安装的软件,可以先进行搜索查找结果
brew search <packageName>
罗列已经安装的包
brew list
查看已经安装的包的信息
brew info <packageName>
更新Homebrew
brew update
清理过期的软件
brew cleanup
0x02 常见的问题
/usr/local/权限问题
Homebrew也会在/usr/local/等系统目录下的读写文件(主要是写),这可能需要root权限。
可以对/usr/local目录下的文件读写进行root用户授权。(官方在手册中也声明了它是安全的,姑且信了吧)
sudo chown -R $USER /usr/local
brew doctor
brew doctor
命令能发现一个过期的版本或者没有创建、配置好的文件夹等等问题,而且最有好的就是给出解决的办法或命令。(多数给出的解决办法都能解决你遇到的问题)
比如安装软件时出现/usr/local/sbin is not writable.
的错误提示
有些是因为没有创建这个文件夹,有些则是因为没有执行chown修改权限。如果百度这个的话,答疑网站多数人的给出的建议是执行后者。doctor则会指出所有的问题,并给出命令。
该命令还可以提示没有link程序;提示没有加入到PATH下的文件夹;提示某些过期的软件需要cleanup清理等信息。
关闭自动更新
默认在执行Homebrew的命令前要进行更新,这个有时确实影响使用。
单次使用的时候可以再shell里输入如下命令:
export HOMEBREW_NO_AUTO_UPDATE=true
达到永久效果,要在自己的shell配置文件里写入这句话,因为shell不同,请自行百度。