现在新的mac基本都内置homebrew了吧,brew可以说是mac神器之一了。上手简单,但还是用法需要整理一下:

###brew常用命令

1
2
3
4
5
brew search 包名 #搜索包
brew info 包名#包信息
brew list #查看有哪些包
brew install 包名#安装包
brew uninstall 包名#删除包

brew管理服务

brew还有个重要的任务就是管理服务,在我本机的:

  • Kafka
  • mysql
  • nginx
  • Redis
  • zookeeper

都是用了brew进行管理,管理他们用

1
2
brew services start 服务名#开启一个service
brew services stop 服务名#关闭一个service

每次开启一个服务,就会在~/Library/LaunchAgents里面增加一个plist文件,用来存储这个服务的一些版本信息,同时,本机所有其他服务可以通过

1
2
3
launchctl load *.plist #加载 
launchctl unload *.plist #取消
launchctl list#查看服务

来完成

brew其他命令

1
brew link 包名

这里的link是指symbollink(有点类似于windows里的创建快捷方式)。以hadoop为例,在brew刚下载的hadoop只是存在/usr/local/Cellar目录下的,在全局环境下不能用hadoop命令。只有将其link到bin里(hadoop产生了27个symbolink),才能全局使用hadoop命令。在用brew install时会默认完成link的操作,除非出现意外。

意外:在安装hadoop时出现了

1
2
3
4
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink sbin/FederationStateStore
/usr/local/sbin is not writable.

是因为我本机根本没有这个目录,同时权限也不够,所以我建了这个目录,然后用

1
sudo chown -r $(whoami) $(brew --prefix)/*

修改了对应权限,成功安装。这里引出了

1
brew --prefix

这个是指brew存在的目录,其他brew操作都是在这个目录下搞的(例如cellar就是在这个目录下)。