Homebrew的使用教程,镜像源的推荐,安装软件的方法以及常见问题
howbrew的介绍
Homebrew是一款Mac OS的软件管理工具(就像app商店一样),用户可以安装,卸载,更新等功能。使用指令,就可以安装包,不用考虑各种依赖。
Homebrew的安装:
安装命令:
命令1:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"(这个命令不好使会报错,如果报错尝试使用命令2)
命令2:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"(这是一个脚本,同样可以安装Homebrew)
卸载命令:
cd `brew --prefix`
rm -rf Cellar
brew prune
rm `git ls-files`
rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
rm -rf .git
rm -rf ~/Library/Caches/Homebrew
更换源
在使用brew install 和brew update非常慢的原因是软件源在国外。那么,直接换成阿里源或者其他即可。
注意:更换镜像源,可能在brew update也依旧很慢的原因有以下几点原因(作者自己推测):
- 该镜像源本身就有问题,比如清华源存在版权问题(不知解决没有)。
- 该镜像源DNS被污染。
- 由于该镜像源太多人访问。比如清华源。阿里源。
所以,这里作者就不推荐具体的那个镜像源更好了。反正选大公司的镜像源和比较出名高校非清华的镜像源。作者使用的是科大源。速度目前还是非常好。
基础使用:
1.查看Homebrew命令:brew help
2.安装任意包:brew install
3.卸载任意包:brew uninstall
4.查询可用包:brew search
5.查询已安装包列表:brew list
6.查看任意包信息:brew info
7.更新Homebrew:brew update
8.Homebrew帮助信息:brew -h
8.查看brew版本:brew -v
10.更新brew版本:brew update
11. 指定安装路径:brew install --prefix=<your_local_path>
11.整理重复语句:open ~/.zshrc -e、open ~/.bash_profile -e
注意:在安装软件时,最好先使用brew update 因为,安装复杂的软件,可能有比较复杂的依赖。比如安装A软件,A软件依赖的是JDk1.8。而你的MAC的JDK不是1.8版本的。那么你直接使用brew install A。就会安装失败。因为,brew在安装时,如果不指定版本就会默认安装最新版本。想要安装最新版本,那么就要满足依赖条件。一般情况下,最新版本的A,所依赖的组件的版本一般都是最新的。所以使用brew update就会更新。
使用Homebrew安装软件
- 安装默认最新版本的软件
brew update
brew install appName
- 安装指定版本的软件的版本(以安装scala2.11为例子)
brew update
//查看哪些scala可安装
brew search scala
//它会输出哪些scala版本可安装,注意:一会安装必须按照它输出的格式进行安装
//比如,我需要安装的scala2.11的输出格式为scala@2.11,则我安装就要按scala@2.11
brew install scala@2.11
注意:第二种,指定版本软件安装非常重要。因为,第一种安装软件的方法所安装的软件是最新版本的。最新意味着不稳定,资料少。所以,一般我们更加倾向安装稳定版本。
问题
问题1
by 2023/3/8 遇到了一个问题:
fatal: not in a git directory Error: Command failed with exit 128: git
直接输入:
brew -v
会有如下类似输出:
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-cask
直接copy,输入一下就行了。
问题2
by 2023/4/17
brew search scala
遇到如下输出:一直失败
Warning: formula.jws.json: update failed, falling back to cached version.
==> Downloading https://formulae.brew.sh/api/formula.jws.json
解决办法
export HOMEBREW_NO_INSTALL_FROM_API=1
问题3:依赖问题
出现如下报错,就是缺失dir_s_rmdir依赖,直接安装即可
No such file or directory @ dir_s_rmdir
问题4:brew services list 报错
Error: uninitialized constant Homebrew::Service::System
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services/cmd/services.rb:61:in `services'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'
解决办法:先删除homebrew-services, 再使用tap命令进行更新
cd /usr/local/Homebrew/Library/Taps/homebrew/
rm -rf homebrew-services
brew tap homebrew/services