brew 是macOS上的包管理工具。类似

  • Ubuntu的 apt-get —— 适用于deb包管理式的操作系统
  • Fedora/RedHat/RHEL/CentOS的 yum —— 适用于rpm包安装

安装brew

前置条件brew是ruby开发的,需要确认ruby已安装

  1. # 查看是否安装了ruby
  2. find / -name ruby && whereis ruby && which ruby && ruby -v
  3. which ruby
  4. ruby --version
  5. # 安装brew
  6. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  7. # 卸载brew
  8. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
  9. #国内安装
  10. /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
  11. #国内卸载
  12. /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

brew命令

类别 描述 命令


查看
查看版本 brew -v
查看brew本地所有安装包 brew list
列出需要的包信息 brew list <package>
查看Homebrew的缓存路径
brew —cache
列出当前系统服务的状态清单 brew services list
查看帮助 brew commands
brew help [COMMAND]
man brew
查看brew本地资源占用空间 brew info
查看指定包的占用空间 brew info <package>
查看安装的镜像配置信息 brew config
查看过时的软件包,会有升级的版本号 brew outdate
查找包信息 brew search [TEXT|/REGEX/]
安装
卸载
更新
安装包 brew install <包1 … 包n>
brew install —verbose —debug FORMULA
brew install redis@3.2
查看可以更新的包 brew update
升级包 brew upgrade [FORMULA…]
卸载包 brew uninstall <package>
检查 brew检查系统的潜在问题 brew doctor

image.png

brew 代理设置

方法一

brew用curl下载,所以给curl挂上socks5的代理即可。
在 sudo vim ~/.curlrc 文件中输入代理地址即可。

  1. socks5 = "127.0.0.1:1080"

方法二

替换为中科大源

  1. # 替换为中科大的brew.git:
  2. cd "$(brew --repo)"
  3. git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
  4. # 替换中科大的homebrew-core.git:
  5. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
  6. git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
  7. # 替换中科大的homebrew-bottles:
  8. # 就是在 ~/.bashrc 或 ~/.zshrc 文件末尾加
  9. echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
  10. source ~/.bash_profile
  11. brew update


替换为阿里云

  1. # 替换阿里云的brew.git
  2. cd "$(brew --repo)"
  3. git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
  4. # 替换阿里云的homebrew-core.git
  5. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
  6. git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
  7. # 替换阿里云的homebrew-bottles:
  8. # 就是在 ~/.bashrc 或 ~/.zshrc 文件末尾加
  9. echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
  10. source ~/.bash_profile
  11. brew update

制作 .sh文件

  1. # 替换成阿里巴巴的 brew.git 仓库地址:
  2. cd "$(brew --repo)"
  3. git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
  4. # 替换成阿里巴巴的 homebrew-core.git 仓库地址:
  5. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
  6. git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
  7. if [ $SHELL = "/bin/bash" ] #如果你的是bash
  8. then
  9. # 替换 homebrew-bottles 访问 URL:
  10. echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
  11. source ~/.bash_profile
  12. elif [ $SHELL = "/bin/zsh" ]
  13. #如果用的shell 是zsh的话
  14. then
  15. # 替换成阿里巴巴的 homebrew-bottles 访问地址:
  16. echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
  17. source ~/.zshrc
  18. fi


替换为清华源

  1. # 替换为清华的brew.git:
  2. cd "$(brew --repo)"
  3. $ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
  4. # 替换清华的homebrew-core.git:
  5. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
  6. git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
  7. # 替换清华的homebrew-bottles:
  8. echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
  9. brew update
  10. source ~/.bash_profile

重置源

  1. # 还原为官方提供的 brew.git 仓库地址
  2. cd "$(brew --repo)"
  3. git remote set-url origin https://github.com/Homebrew/brew.git
  4. # 还原为官方提供的 homebrew-core.git 仓库地址
  5. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
  6. git remote set-url origin https://github.com/Homebrew/homebrew-core.git
  7. #删除环境变量
  8. #如果是bash
  9. # 还原为官方提供的 homebrew-bottles 访问地址
  10. vim ~/.bash_profile
  11. # 然后,删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置
  12. source ~/.bash_profile
  13. #如果是zsh的话
  14. # 还原为官方提供的 homebrew-bottles 访问地址
  15. vim ~/.zshrc
  16. # 然后,删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置
  17. source ~/.zshrc

执行了上述命令后,再执行 brew update

xcode-select

  1. # 安装C/C++所要用到的环境
  2. xcode-select --install

选择 Bourne Shell(sh)的扩展版本

bash zsh 互切换

  1. # 切换到 bash
  2. chsh -s /bin/bash
  3. # 切换到 zsh
  4. chsh -s /bin/zsh

在zsh中想使用 bash

把 bash shell 中.bash_profile 全部环境变量加入zsh shell里就好

  1. # 第一步在终端执行
  2. open ~/.zshrc
  3. # 第二步找到 "# User configuration",在其下面添加下面内容,没有找到直接加也行
  4. source ~/.bash_profile
  5. # 第三步在终端里执行
  6. source ~/.zshrc

解决问题

拉取项目报错 SSL certificate problem: certificate has expired

  1. ==> 克隆Homebrew基本文件
  2. 未发现Git代理(属于正常状态)
  3. Cloning into '/usr/local/Homebrew'...
  4. fatal: unable to access 'https://mirrors.ustc.edu.cn/brew.git/':
  5. + SSL certificate problem: certificate has expired
  6. m此步骤失败 '尝试再次运行自动脚本选择其他下载源或者切换网络'

解决思路:
重点是问题描述里面的最后一句 certificate problem: certificate has expired,意思是证书过期了。其实就是SSL卡住了你,因此最快的解决方法就是关掉SSL验证。

  1. git config --global http.sslVerify false