Mac homebrew 备忘

这一篇会保持更新吧。因为不是一次性的工具。遇到 homebrew 问题以后就往这里记录了。

homebrew

Homebrew 是 macOS 上的一个开源的软件包管理器,它简化了在终端中安装、卸载和更新各种软件和工具的过程。以下是 Homebrew 的一些关键特点和用法:

  1. 简便安装: Homebrew 提供了一个简单的命令行接口,使用户能够轻松安装软件包。例如,要安装 Git,只需运行 brew install git 即可。
  2. 自动化: Homebrew 会自动处理软件包之间的依赖关系,确保所需的库和工具也被正确安装。
  3. 更新和升级: 使用 brew update 命令可以更新 Homebrew 本身,而 brew upgrade 命令则可以升级已安装的软件包到最新版本。
  4. 搜索功能: 通过 brew search 命令,用户可以搜索并查看可用的软件包列表。例如,brew search python 将显示与 Python 相关的软件包。
  5. 版本管理: Homebrew 允许用户安装特定版本的软件包,以便与特定项目或依赖关系兼容。通过 brew switch 命令可以切换不同版本。
  6. 可扩展性: Homebrew 支持自定义和扩展,用户可以贡献新的软件包、公式和 Casks(用于管理 macOS 应用程序的扩展)。

homebrew cask

Homebrew 和 Homebrew Cask 是两个不同的工具,但它们都用于在 macOS 上安装软件。

  1. Homebrew: Homebrew 是一个包管理器,用于在 macOS 上安装命令行工具和库。通过 Homebrew,您可以轻松安装、卸载和管理软件包。例如,要安装 Node.js,您可以运行 brew install node
  2. Homebrew Cask: Homebrew Cask 是 Homebrew 的一个扩展,专门用于管理 macOS 图形界面应用程序(GUI应用)。相对于纯命令行工具,图形应用程序通常有一个用户界面,而 Homebrew Cask 使得通过命令行方式管理这些应用程序更加方便。通过 Homebrew Cask,您可以安装 macOS 应用程序,例如 brew install --cask nodebox

因此,如果只涉及命令行工具或库,使用 brew install 就足够。如果涉及到 macOS 图形应用程序,可能需要使用 brew install --cask

在某些情况下,Homebrew Cask 中的应用程序可能会在 Homebrew 中的软件仓库中没有,因此需要使用 --cask 参数来表示这是一个 Cask 安装。

安装

[homebrew][homebrew]。包管理器。没有网络问题的话参考官方文档安装即可。

这里多说两个场景:

  1. 国内场景,用中科大的源好一些:

    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
    
  2. arm 架构 和 x86架构:

    如果是m架构的,默认的是 arm 的。有时候我们还需要x86的东西,就要单独装x86的homebrew:

    image-20230628午後80202960

    image-20230628午後82459573

    x86的:

     arch -x86_64 /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
    

    和普通命令的区别是开头加了arch -x86_64,用来标记通过兼容模式运行安装脚本。这样安装之后的才是x86版本。

    .zshrc 或者 .bashrc 里添加:

     alias abrew='eval $(/opt/homebrew/bin/brew shellenv) && arch -arm64 /opt/homebrew/bin/brew'
     alias ibrew=' eval $(/usr/local/Homebrew/bin/brew shellenv) && arch -x86_64 /usr/local/bin/brew'
    

常用命令

brew install 软件名
brew search 软件名
brew uninstall 软件名
brew update
brew upgrade 软件名
brew list
brew info/home 软件名 
brew reps
brew services list
brew services start/stop/restart serverName
  1. 查看配置

    brew config
    

    image-20230522午前114815453

  2. 更新 brew 信息

    brew update
    

    image-20230522午後00757587

    遇到了报错: ` fetching failed`。。。

    原因是我电脑上跑的 clash 的混合端口,git 配置为 sock5 端口代理有问题。要改成用 http 代理端口

    git config --global http.https://github.com.proxy 'http://127.0.0.1:7890'
    
  3. 切换不同架构的 brew

    .zshrc 或者 .bashrc 里添加:

    alias abrew='eval $(/opt/homebrew/bin/brew shellenv) && arch -arm64 /opt/homebrew/bin/brew'
    alias ibrew='source /Users/kelu/.zprofile && arch -x86_64 /usr/local/bin/brew'
    

    另外 /Users/kelu/.zprofile 的内容为:

      export HOMEBREW_PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
      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/ 
      eval $(/usr/local/Homebrew/bin/brew shellenv)
    

天翼云增加子账号并给子账号设置权限 chrome 允许跨域