Homebrew安装和使用(国内外)

Homebrewinstall and Using

Homebrew从Mac现在迁移到Linux,当代包管理利器

1. Homebrew起源

Homebrew(家酿啤酒,Logo也是啤酒) 由 Max Howell 于 2009 年创建,一开始是为 macOS(当时叫 Mac OS X)提供一个简单、开源、社区驱动的包管理器,弥补当时 macOS 缺乏类似 Linux 上 apt 或 yum 这类便捷工具的空白

Homebrew 在 macOS 用户中相当流行,因为更多的开发者创造了可以用 Homebrew 轻松安装的命令行工具。

这种流行导致了 Linuxbrew 的诞生,它是 Homebrew 的一个 Linux 移植版。由于它主要是 Git 和 Ruby 组成的,而 Linux 和 macOS 都是类 Unix 的系统,所以 Brew 在两种操作系统上都能很好地工作

Linuxbrew 项目最终与 Homebrew 项目合并,现在只有一个 Brew 项目,叫做 Homebrew。

Homebrew是一个开源项目,托管在 https://github.com/Homebrew/brew上

Note

Homebrew 的“来源”是 GitHub 上的 Homebrew 组织,由 Max Howell 发起,现由全球开发者社区共同维护。它已成为 macOS 和 Linux(通过 Homebrew/Linux)上最流行的包管理器之一。

需不需要装,看自己的需求,自己觉得方便就是对的

2. Hombrew安装

  • 官网安装
  • 各种镜像安装

brew web

2.1 官网直接安装

在MacOS和Linux终端中,直接输入

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

如果能继续下载安装,恭喜你少了太多的麻烦了

macOS也可以在brew官网中,找到pkg下载

2.2 国内安装

网络不通,意味着github也连接不了,通过阿里云的镜像来下载homebrew

  1. 下载git文件
#克隆一下
git clone https://mirrors.aliyun.com/homebrew/install.git brew-install
cd brew-install

brew git

切换到目录后有四个文件 - install.sh - LICENSE.txt - README.md - uninstall.sh

  1. 执行bash安装文件,如果网络不同还是在github连接上卡住了,这个时候修改bash文件
./install.sh

卡在github的连接上了

==> Downloading and installing Homebrew...
fatal: unable to access 'https://github.com/Homebrew/brew/': SSL: certificate subject name (*.vanki.dev) does not match target host name 'github.com'
Warning: Trying again in 2 seconds: /usr/bin/git fetch --quiet --progress --force origin
fatal: unable to access 'https://github.com/Homebrew/brew/': SSL: certificate subject name (*.vanki.dev) does not match target host name 'github.com'
Warning: Trying again in 4 seconds: /usr/bin/git fetch --quiet --progress --force origin
  1. 修改install.bash文件,需要改成指向国内的镜像网站,这里修改中科大的镜像,也可以使用阿里云镜像,自由选择
# aliyun 镜像
HOMEBREW_BREW_DEFAULT_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/brew.git"
HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/homebrew-core.git"

# 中科大镜像
HOMEBREW_BREW_DEFAULT_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"

我这里使用vim进行修改,使用工具可自行选择,在大概200行的位置

 198 MKDIR=("/bin/mkdir" "-p")
 199 HOMEBREW_BREW_DEFAULT_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/brew.git"
 200 HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/homebrew-core.git"
 201 # Use remote URLs of Homebrew repositories from environment if set.
 202 HOMEBREW_BREW_GIT_REMOTE="${HOMEBREW_BREW_GIT_REMOTE:-"${HOMEBREW_BREW_DEFAULT_GIT_REMOTE}"}"
 203 HOMEBREW_CORE_GIT_REMOTE="${HOMEBREW_CORE_GIT_REMOTE:-"${HOMEBREW_CORE_DEFAULT_GIT_REMOTE}"}"
 204 # The URLs with and without the '.git' suffix are the same Git remote. Do not prompt.
 205 if [[ "${HOMEBREW_BREW_GIT_REMOTE}" == "${HOMEBREW_BREW_DEFAULT_GIT_REMOTE}.git" ]]
 206 then
 207   HOMEBREW_BREW_GIT_REMOTE="${HOMEBREW_BREW_DEFAULT_GIT_REMOTE}"
 208 fi
 209 if [[ "${HOMEBREW_CORE_GIT_REMOTE}" == "${HOMEBREW_CORE_DEFAULT_GIT_REMOTE}.git" ]]
 210 then
  1. 使用/bin/bash install.sh命令运行

看到下面的提示表示安装成功

==> Pouring portable-ruby-3.4.8.x86_64_linux.bottle.tar.gz
Warning: /home/linuxbrew/.linuxbrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).
  1. 修改brew配置

安装成功之后,brew会给出提示设置的修改


==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
    echo >> /home/erwin/.bashrc
    echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"' >> /home/erwin/.bashrc
    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"
- Install Homebrew's dependencies if you have sudo access:
    sudo apt-get install build-essential
  For more information, see:
    https://docs.brew.sh/Homebrew-on-Linux
- We recommend that you install GCC:
    brew install gcc
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

主要是增加path到bashrc文件中

直接在terminal中输入,下面的三句话

    echo >> /home/erwin/.bashrc
    echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"' >> /home/erwin/.bashrc
    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)"

会把brew写入到你的路径中

  1. 最好是安装brew的依赖,防止报错
 sudo apt-get install build-essential

输入brew -v,得到提示5.0.15表示成功!

  1. 给brew换源
Important

自 brew 4.0.0 (2023 年 2 月 16 日) 起,HOMEBREW_INSTALL_FROM_API 会成为默认行为,无需设置。大部分用户无需再克隆 homebrew-core 仓库,故无需设置 HOMEBREW_CORE_GIT_REMOTE 环境变量

默认不再需要本地克隆 homebrew-core 仓库。Homebrew 改为通过 API 从官方服务器(formulae.brew.sh)动态下载一个轻量级的 JSON 文件来获取软件包的最新信息

首先查看是否修改过镜像源,如果按照上面的步骤cd "$(brew --repo)" && git remote -v,得到的应该是阿里云的镜像源,就不需要再更改了,不然进行后续的步骤

  1. 进入Homebrew,在终端输入cd "$(brew --repo)"

  2. 更改远程 URL 为你选择的镜像,git remote set-url origin https://mirrors.ustc.edu.cn/brew.git