按 Enter 键跳转到正文

Brew 使用指南

Brew 使用指南

一、什么是 brew?

全程:Homebrew

  • macOS(或 Linux)软件包管理器。它可以让你轻松地安装、更新、卸载软件,解决软件依赖关系,你不再需要手动下载、拖拽安装或处理复杂的编译选项。

  • Homebrew 会将软件包安装到独立目录,并将其文件软链接至 /opt/homebrew 。

  • brew官网

二、安装 Homebrew

在终端(Terminal)中执行以下命令:

1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,运行以下命令确保 Brew 工作正常:

1brew doctor

三、基础使用命令

1. 安装软件

  • 安装命令行工具(Formula):
    1brew install <formula_name>
    2# 示例:安装 wget, tree, node
    3brew install wget tree node
    
  • 安装图形界面应用(Cask)
    1brew install --cask <cask_name>
    2# 示例:安装 Chrome, VS Code, Spotify
    3brew install --cask google-chrome visual-studio-code spotify
    

2. 查询软件

  • 搜索软件(不确定完整包名时非常有用):
    1brew search <keyword>
    2# 示例:搜索所有与 python 相关的包
    3brew search python
    
  • 查看已安装的软件列表:
    1brew list # 列出所有通过 Formula 安装的命令行工具
    2brew list --cask # 列出所有通过 Cask 安装的应用程序
    
  • 查看某个软件的信息:
    1brew info <formula_name>
    2brew info --cask <cask_name>
    

3. 更新软件

  • 更新 Homebrew 自身(获取最新的 Formula 和 Cask 列表):
1brew update
  • 检查哪些软件可以更新:
    1brew outdated
    
  • 更新所有软件:
    1brew upgrade
    
  • 更新指定软件:
    1brew upgrade <formula_name>
    
  • 更新 Cask 应用: 对于 Cask 应用,upgrade 命令同样有效。如果应用有自动更新功能(如 Chrome),则可能无需通过 Brew 更新。
    1brew upgrade --cask <cask_name>
    

4. 卸载软件

  • 卸载软件:
    1brew uninstall <formula_name>
    2brew uninstall --cask <cask_name>
    
  • 清理旧版本和缓存: Homebrew 会保留旧版本和下载缓存,定期清理可以节省空间。
1brew cleanup # 清理所有旧版本软件的缓存
2brew cleanup <formula_name> # 清理指定软件的缓存
3brew cleanup -n # 查看哪些会被清理,但不实际执行(干跑)

四、 高级用法

1. 管理服务(Services)

Homebrew 可以像 systemd 一样管理一些后台服务(如 MySQL, Nginx, PostgreSQL)。

  • 安装服务:
    1brew install mysql
    
  • 在登录时启动并立即运行服务:
    1brew services run mysql # 立即运行但不设置开机启动
    2brew services start mysql # 设置开机启动并立即运行
    
  • 停止服务:
    1brew services stop mysql
    
  • 重启服务:
    1brew services restart mysql
    
  • 查看所有服务状态:
    1brew services list
    

2. 诊断问题

  • brew doctor: 检查你的系统是否存在潜在问题,并给出修复建议。遇到任何安装问题时首先运行此命令。

  • brew config: 显示 Homebrew 的系统和配置信息,用于故障排除时提供环境详情。

  • brew gist-logs <formula>: 上传某个软件的详细安装日志到 Gist,方便在 GitHub 上提交问题时使用。

3. 安装特定版本软件

有时你需要安装的不是最新版,而是某个特定版本。

  1. 首先找到你需要的版本的 Formula(可能存在于一个“tap”中):
    1brew search node@ # 搜索带版本的 node
    
  2. 如果找到了(如 node@14),直接安装:
    1brew install node@14
    
  3. 你需要手动将特定版本添加到 PATH 环境变量中,因为 Brew 默认只链接最新版本。安装后提示会告诉你怎么做。

4. Taps(第三方仓库)

官方仓库没有你需要的软件?可以添加第三方仓库。

  • 添加一个 Tap:
    1brew tap <user/repo>
    2# 示例:添加一个著名的字体仓库
    3brew tap homebrew/cask-fonts
    4# 然后你就可以安装这个 tap 里的字体了
    5brew install --cask font-fira-code
    
  • 查看已添加的 Tap:
    1brew tap
    
  • 删除一个 Tap:
    1brew untap <user/repo>
    

5.更换镜像源

```bash
# 替换 Homebrew 源为国内镜像
# 中科大镜像
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git

# 或者清华镜像
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

# 更新 Homebrew
brew update
```

6. 禁用 Homebrew 自动更新(可选)

```bash
# 如果觉得自动更新烦人,可以禁用
echo 'export HOMEBREW_NO_AUTO_UPDATE=1' >> ~/.zshrc
echo 'export HOMEBREW_NO_ENV_HINTS=1' >> ~/.zshrc
source ~/.zshrc
```

五、mysql为例安装

  1. 安装

    1# 运行安装命令
    2brew install mysql@8.0
    
  2. 链接到系统路径

    1# 添加到 zshrc
    2echo 'export PATH="/usr/local/opt/mysql@8.0/bin:$PATH"' >> ~/.zshrc
    3
    4# 使配置生效
    5source ~/.zshrc
    6
    7# 验证路径
    8which mysql
    9# 应该显示: /usr/local/opt/mysql@8.0/bin/mysql
    
  3. 启动 MySQL 服务

    1# 启动并设置开机自启
    2brew services start mysql@8.0
    3
    4# 或者只启动不设置自启
    5mysql.server start
    
  4. 安全初始化

    1# 运行安全配置脚本
    2mysql_secure_installation
    

    按照提示操作:

    • 设置 root 密码

    • 移除匿名用户(选 Y)

    • 禁止远程 root 登录(选 Y)

    • 移除测试数据库(选 Y)

    • 重新加载权限表(选 Y)

  5. 环境变量配置

    1. 添加到 shell 配置文件
      1# 如果是 zsh(macOS Catalina 及以后)
      2echo 'export PATH="/usr/local/opt/mysql@8.0/bin:$PATH"' >> ~/.zshrc
      3
      4# 如果是 bash
      5echo 'export PATH="/usr/local/opt/mysql@8.0/bin:$PATH"' >> ~/.bash_profile
      6
      7# 使配置生效
      8source ~/.zshrc  # 或 source ~/.bash_profile
      
    2. 验证安装
    1# 检查版本
    2mysql --version
    3
    4# 应该显示类似:mysql  Ver 8.0.xx for macosx on x86_64 (Homebrew)
    5
    6# 测试连接
    7mysql -u root -p
    
  6. 常用管理命令

    1. 服务管理
    1# 查看服务状态
    2brew services list
    3
    4# 停止服务
    5brew services stop mysql@8.0
    6
    7# 重启服务
    8brew services restart mysql@8.0
    
    1. 配置文件位置
    1# 主配置文件
    2/usr/local/etc/my.cnf
    3
    4# 数据目录
    5/usr/local/var/mysql/
    6
    7# 错误日志
    8/usr/local/var/mysql/your_computer_name.err
    
  7. 其他

    1. 优化
       1# 备份原始配置
       2cp /usr/local/etc/my.cnf /usr/local/etc/my.cnf.backup
       3
       4# 编辑配置(添加以下内容)
       5echo "[mysqld]
       6character-set-server = utf8mb4
       7collation-server = utf8mb4_unicode_ci
       8innodb_buffer_pool_size = 1G
       9slow_query_log = 1
      10long_query_time = 2
      11
      12[client]
      13default-character-set = utf8mb4" >> /usr/local/etc/my.cnf
      14
      15# 重启生效
      16brew services restart mysql@8.0
      
    2. 忘记密码
       1# 停止服务
       2brew services stop mysql@8.0
       3
       4# 安全模式启动
       5mysqld_safe --skip-grant-tables &
       6
       7# 重置密码
       8mysql -u root
       9FLUSH PRIVILEGES;
      10ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
      11exit;
      12
      13# 重启服务
      14brew services restart mysql@8.0
      
    3. 自己管理启动

    编写start_mysql.sh,chmod +x start_mysql.sh

     1#!/bin/zsh
     2export HOMEBREW_NO_AUTO_UPDATE=1
     3MYSQL_PATH="/usr/local/opt/mysql@8.0/bin/mysql.server"
     4
     5# 使用不同的变量名避免与系统只读变量冲突
     6mysql_status=$($MYSQL_PATH status 2>/dev/null)
     7
     8if [[ $mysql_status == *"SUCCESS"* ]]; then
     9    echo "MySQL 正在运行,准备停止..."
    10    $MYSQL_PATH stop
    11elif [[ $mysql_status == *"ERROR! MySQL is not running"* ]]; then
    12    echo "MySQL 未运行,准备启动..."
    13    $MYSQL_PATH start
    14else
    15    echo "无法确定 MySQL 状态,尝试启动..."
    16    $MYSQL_PATH start
    17fi
    

发表评论