Mac M1 更新brew踩坑记录

789 阅读3分钟

起因

想在家里电脑上装个MySQL,对一个Java后端来说MariaDb和MySQL的差别并没有那么大,搜索了一下后MySQL需要用Oracle账号登陆下载,MariaDb官网提供命令即可安装,于是我就决定试试后者

Loop: Quick Start, Quick Fail

通过搜索引擎找到了 官网教程,然后开始碰到了一系列问题,记录如下:

brew install mariadb

error: Not a valid ref: refs/remotes/origin/master
fatal: ambiguous argument 'refs/remotes/origin/master': unknown revision or path not in the working tree. 

这里简单搜了一下,说是网络问题,重试可以解决,我重试了两次,的确走下去了,但是其实这个问题的本质是brew的源比较慢,下面还有类似的坑等着

Warning: No available formula with the name "mariadb".
==> Searching for similarly named formulae and casks...
==> Casks
maria                                    navicat-for-mariadb

To install maria, run:
  brew install --cask maria

继续搜索,找到了第二个官网链接 第二个官网链接 此时我终于发现上一个的链接已经过时了,不理解为什么不维护更新一下。这个链接里写的很清楚了,三步走:

  1. 安装更新xcode
  2. 安装/检查/更新brew
  3. 用新版本的brew安装Mariadb
xcode-select --version //检查xcode是否安装

控制面板-软件更新里看xcode是否有更新 有的话则安装更新

brew info mariadb
Error: No available formula with the name "mariadb".
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found. //报这个就说明brew需要更新

这个时候我头还比较铁,有问题继续解决问题呗

brew update

这里再次出现了网络问题,除了上面的"Not a valid ref",还有超时失败。这个时候我想起了brew可以换国内镜像,一番折腾尝试了腾讯云/阿里云/清华镜像,结论是腾讯和阿里的镜像明显快很多,但是在我这里会卡在某个节点不动。清华的镜像比较慢,但是最终更新成功了。调整环境变量如下

//清华大学镜像站地址 https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/

vi ~/.bash_profile    //打开编辑器

//按i进入编辑模式
export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"
export HOMEBREW_PIP_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple"
export PATH=$HOMEBREW_API_DOMAIN:$HOMEBREW_BOTTLE_DOMAIN:$HOMEBREW_BREW_GIT_REMOTE:$HOMEBREW_CORE_GIT_REMOTE:$HOMEBREW_PIP_INDEX_URL:$PATH

:wq! //保存退出
source ~/.bash_profile //使新增环境变量生效
brew update 


brew update           
Error: Another active Homebrew update process is already in progress.
Please wait for it to finish or terminate it to continue.
//注意出现这个表示需要把整个终端进程都关掉重试才行,重试前务必在同一终端内先运行 source ~/.bash_profile

等了很久以后更新完成,检查Mariadb信息如下

brew info mariadb
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api/formul
##O=#  #                                                                      
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api/cask.j
##O=#  #                                                                      
==> mariadb: stable 10.11.2 (bottled)

后面就只剩安装了,后面我没继续,因为这里我终于意识到了自己的头铁,一边等着brew慢慢更新,一边上Oracle注册了个账号,下载了MySQL 8.0的安装dmg,10分钟就安好了。。。

mysql 
zsh: command not found: mysql

安装完成后如果出现mysql命令找不到的情况需要更新环境变量

export MYSQL_PATH="/usr/local/mysql/bin"
export PATH=$MYSQL_PATH:$PATH

source ~/.bash_profile

mysql --version
mysql  Ver 8.0.32 for macos13 on arm64 (MySQL Community Server - GPL)


mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.32 MySQL Community Server - GPL

一点感悟

  1. 搜教程时没有注意发布时间,是我给自己挖的坑
  2. 因为懒得注册账号导致自己搭进去了一晚上,真真是"欲速则不达"
  3. 其实我第一个配置的镜像源就是清华大学的,但是速度有点慢等不及,关了去重试腾讯阿里的,没想到最后还是得转回来,"欲速则不达"+1
  4. brew的源是在github上,换了2个梯都没法加速,还是挺奇怪的。。。