MacOS上Homebrew?安裝、配置、更改國(guó)內(nèi)鏡像源及使用圖文詳解
Homebrew筆記

1. 介紹
官網(wǎng):https://brew.sh/
對(duì)于習(xí)慣了使用命令來(lái)完成一切的程序員來(lái)說(shuō),安裝軟件這種小事,自然是能夠用命令解決,就不用圖形界面選擇。但是在 Linux 中,我們有 yum、apt、dnf、pkg等命令來(lái)完成軟件的安裝,macOS 卻并未為我們提供一個(gè)好用的包管理器,幫助我們更好的使用 macOS。
好在,雖然官方?jīng)]有提供,我們卻可以使用 Homebrew 這一神器,來(lái)完成類(lèi)似的工作,就如同 Homebrew 的 Slogan :“The missing package manager for macOS (or Linux)”
Homebrew 由開(kāi)發(fā)者 Max Howell 開(kāi)發(fā),并基于 BSD 開(kāi)源,是一個(gè)非常方便的包管理器工具。在早期, Homebrew 僅有 macOS 的版本,后續(xù)隨著用戶(hù)的增多,Homebrew 還提供了 Linux 的版本,幫助開(kāi)發(fā)者在 Linux 同樣使用 Homebrew 來(lái)配置環(huán)境。
1.1 組成部分
Homebrew 是一款包管理工具,目前支持 macOS 和 linux 系統(tǒng)。主要有四個(gè)部分組成: brew、homebrew-core 、homebrew-cask、homebrew-bottles。
| 名稱(chēng) | 說(shuō)明 |
|---|---|
| brew | Homebrew 源代碼倉(cāng)庫(kù) |
| homebrew-core | Homebrew 核心源 |
| homebrew-cask | 提供 macOS 應(yīng)用和大型二進(jìn)制文件的安裝 |
| homebrew-bottles | 預(yù)編譯二進(jìn)制軟件包 |
1.2 核心概念
在正式介紹 Homebrew 的使用之前,我先為你介紹一下 Homebrew 中的一些核心的概念,了解這些概念,就可以幫助你更好的去使用 Homebrew。
| 詞匯 | 含義 |
|---|---|
| formula (e) | 安裝包的描述文件,formulae 為復(fù)數(shù) |
| cellar | 安裝好后所在的目錄 |
| keg | 具體某個(gè)包所在的目錄,keg 是 cellar 的子目錄 |
| bottle | 預(yù)先編譯好的包,不需要現(xiàn)場(chǎng)下載編譯源碼,速度會(huì)快很多;官方庫(kù)中的包大多都是通過(guò) bottle 方式安裝 |
| tap | 下載源,可以類(lèi)比于 Linux 下的包管理器 repository |
| cask | 安裝 macOS native 應(yīng)用的擴(kuò)展,你也可以理解為有圖形化界面的應(yīng)用。 |
| bundle | 描述 Homebrew 依賴(lài)的擴(kuò)展 |
其中,最關(guān)鍵的是 tap 、cask,我們?cè)诤罄m(xù)會(huì)經(jīng)常用到。
2. 安裝
復(fù)制下方命令到終端一鍵執(zhí)行即可,我這里用的第一個(gè),是一個(gè)知乎博主分享的。
蘋(píng)果電腦 常規(guī)安裝腳本(推薦 完全體 幾分鐘安裝完成):
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
蘋(píng)果電腦 極速安裝腳本(精簡(jiǎn)版 幾秒鐘安裝完成):
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed
蘋(píng)果電腦 卸載腳本:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"
常見(jiàn)錯(cuò)誤去下方地址查看
https://gitee.com/cunkai/HomebrewCN/blob/master/error.md
Linux電腦 安裝腳本:
rm Homebrew.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh ; bash Homebrew.sh
Linux電腦 卸載腳本:
rm HomebrewUninstall.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh ; bash HomebrewUninstall.sh
3. 更換為國(guó)內(nèi)鏡像源
本教程以更改中科大源為例。
中科大源地址:https://mirrors.ustc.edu.cn/
Homebrew 源使用幫助 http://mirrors.ustc.edu.cn/help/brew.git.html
Homebrew Core 源使用幫助 http://mirrors.ustc.edu.cn/help/homebrew-core.git.html
Homebrew Cask 源使用幫助 http://mirrors.ustc.edu.cn/help/homebrew-cask.git.html
Homebrew Bottles 源使用幫助 http://mirrors.ustc.edu.cn/help/homebrew-bottles.html
最終效果查看,最下面的兩行 origin 表示,按照 3.1 教程演示即可
# 切換當(dāng)前工作目錄到 Homebrew 的倉(cāng)庫(kù)目錄 cd "$(brew --repo)" #顯示當(dāng)前工作目錄的路徑 pwd # 查看當(dāng)前 Git 倉(cāng)庫(kù)所配置的遠(yuǎn)程倉(cāng)庫(kù)的詳細(xì)信息 git remote -v

git remote -v 命令用于查看當(dāng)前 Git 倉(cāng)庫(kù)的遠(yuǎn)程倉(cāng)庫(kù)信息。
輸出結(jié)果顯示 origin https://mirrors.ustc.edu.cn/brew.git (fetch) 和 origin https://mirrors.ustc.edu.cn/brew.git (push) 。這表明當(dāng)前 Homebrew 倉(cāng)庫(kù)的遠(yuǎn)程源(名為origin)的 URL 是 https://mirrors.ustc.edu.cn/brew.git 。(fetch)表示從這個(gè) URL 拉取代碼更新,(push)表示向這個(gè) URL 推送代碼更改。
以上為最終效果,大家最后有時(shí)間看就行
3.1 更換 brew.git 源
執(zhí)行下方命令,并看到 ORIGNN 地址已經(jīng)更新
# 切換到 Homebrew 的倉(cāng)庫(kù)目錄 cd "$(brew --repo)" # 設(shè)置 Homebrew 倉(cāng)庫(kù)的遠(yuǎn)程源 URL 為中國(guó)科學(xué)技術(shù)大學(xué)的鏡像地址 git remote set-url origin https://mirrors.ustc.edu.cn/brew.git # 顯示當(dāng)前 Homebrew 的配置信息,如各種配置參數(shù),如版本號(hào)、安裝路徑、鏡像地址等 brew config

重置為官方鏡像:
cd "$(brew --repo)" git remote set-url origin https://github.com/Homebrew/brew.git
3.2 更換 homebrew-core.git 源
通過(guò)下方命令發(fā)現(xiàn)錯(cuò)誤,這個(gè)錯(cuò)誤信息表明 Git 認(rèn)為在 “/opt/homebrew/Library/Taps/homebrew/homebrew-core” 這個(gè)路徑下的倉(cāng)庫(kù)所有權(quán)存在可疑情況。這通常是由于安全機(jī)制引起的,Git 可能擔(dān)心該倉(cāng)庫(kù)不是在安全的環(huán)境下或者可能存在惡意操作的風(fēng)險(xiǎn)。
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

按照要求執(zhí)行命令,這個(gè)命令會(huì)將指定的目錄添加到 Git 的安全目錄列表中,告訴 Git 這個(gè)目錄是安全的,可以進(jìn)行操作。這樣,在后續(xù)執(zhí)行與這個(gè)倉(cāng)庫(kù)相關(guān)的 Git 操作時(shí),就不會(huì)再出現(xiàn)這個(gè)錯(cuò)誤了。
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-core git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

# 重置為官方地址: cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://github.com/Homebrew/homebrew-core
默認(rèn)不安裝 cask 有需要的可以替換(Homebrew cask 軟件倉(cāng)庫(kù),提供 macOS 應(yīng)用和大型二進(jìn)制文件),這個(gè)我沒(méi)弄,我就不演示了。
cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git # git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-cask.git # 重置為官方地址: cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask git remote set-url origin https://github.com/Homebrew/homebrew-cask
3.3 替換 Homebrew-bottles 源
用以下命令查看終端使用的是 Bash 還是 Zsh
echo $SHELL

bash 用戶(hù)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile
zsh 用戶(hù)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc source ~/.zshrc
brew4.x 系列有個(gè) api 加速環(huán)境變量,是如下命令。阿里云鏡像是上下兩個(gè)變量HOMEBREW_BOTTLE_DOMAIN 和 HOMEBREW_API_DOMAIN 都有的,只需要吧里面的 ustc 換成 aliyun即可 。然后這里我使用中科大 api 加速。后續(xù) Homebrew 在使用 API 時(shí)會(huì)通過(guò)中科大的鏡像加速地址來(lái)提高訪問(wèn)速度。
bash 用戶(hù)
echo 'export HOMEBREW_API_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/api'>>~/.bash_profile source ~/.bash_profile
zsh 用戶(hù)
echo 'export HOMEBREW_API_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/api'>>~/.zshrc source ~/.zshrc
4. 常用命令
4.1 安裝卸載軟件
- brew --version 或者 brew -v 顯示 brew 版本信息
- brew install <formula> 安裝指定軟件
- brew uninstall <formula> 卸載指定軟件
- brew list 顯示所有的已安裝的軟件
- brew search text 搜索本地遠(yuǎn)程倉(cāng)庫(kù)的軟件,已安裝會(huì)顯示綠色的勾
- brew search /text/ 使用正則表達(dá)式搜軟件
- brew info <formula> 顯示指定軟件信息
- brew reinstall <formula> 重新安裝指定軟件,先卸載后安裝
- brew install <formula> --build-from-source 源碼安裝指定軟件,可以給定指定參數(shù)
- brew commands 列出所有可用命令
4.2 升級(jí)軟件相關(guān)
- brew update 自動(dòng)升級(jí) homebrew (從 github 下載最新版本)
- brew outdated 檢測(cè)已經(jīng)過(guò)時(shí)的軟件
- brew upgrade 升級(jí)所有已過(guò)時(shí)的軟件,即列出的以過(guò)時(shí)軟件
- brew upgrade <formula> 升級(jí)指定的軟件
- brew pin <formula> 禁止指定軟件升級(jí)
- brew unpin <formula> 解鎖禁止升級(jí)
- brew upgrade --all 升級(jí)所有的軟件包,包括未清理干凈的舊版本的包
- brew edit <formula> 編輯軟件,不會(huì)的情況下慎用
- brew tap 列出本地資源倉(cāng)庫(kù),其中 homebrew 是默認(rèn)倉(cāng)庫(kù),其它都是第三方倉(cāng)庫(kù)
- brew tap <user/repo> 添加第三方倉(cāng)庫(kù),命名的規(guī)則按照 github 來(lái)定的。使用
- brew untap <user/repo> 刪除倉(cāng)庫(kù)
- brew deps <formula> 查看指定軟件依賴(lài)于哪些軟件
- brew uses <formula> 查看指定軟件被哪些軟件所依賴(lài)
4.3 清理相關(guān)
homebrew 再升級(jí)軟件時(shí)候不會(huì)清理相關(guān)的舊版本,在軟件升級(jí)后我們可以使用如下命令清理
- brew cleanup -n 列出需要清理的內(nèi)容
- brew cleanup <formula> 清理指定的軟件過(guò)時(shí)包
- brew cleanup 清理所有的過(guò)時(shí)軟件
- brew unistall <formula> 卸載指定軟件
- brew unistall <fromula> --force 徹底卸載指定軟件,包括舊版本
通過(guò) brew 安裝的文件會(huì)自動(dòng)設(shè)置環(huán)境變量,所以不用擔(dān)心命令行不能啟動(dòng)的問(wèn)題。
比如安裝好了 gradle,即可運(yùn)行 gradle -v
4.4 管理后臺(tái)服務(wù)
macOS 使用 launchctl 命令加載開(kāi)機(jī)自動(dòng)運(yùn)行的服務(wù),brew service 可以簡(jiǎn)化 lauchctl 的操作。
以 <font style="color:#ECAA04;">MySQL</font> 為例,使用 <font style="color:#ECAA04;">launchctl</font> 啟動(dòng):
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
如使用 brew service 可以簡(jiǎn)化為:
brew services start mysql
services 常用命令
- brew services list # 查看使用brew安裝的服務(wù)列表
- brew services run formula|–all # 啟動(dòng)服務(wù)(僅啟動(dòng)不注冊(cè))
- brew services start formula|–all # 啟動(dòng)服務(wù),并注冊(cè)
- brew services stop formula|–all # 停止服務(wù),并取消注冊(cè)
- brew services restart formula|–all # 重啟服務(wù),并注冊(cè)
- brew services cleanup # 清除已卸載應(yīng)用的無(wú)用的配置
- 配置文件目錄
/Library/LaunchDaemons # 開(kāi)機(jī)自啟,需要sudo ~/Library/LaunchAgents # 用戶(hù)登錄后自啟
以 homebrew.mxcl.kafka.plist 為例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.kafka</string>
<key>WorkingDirectory</key>
<string>/usr/local</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/kafka/bin/kafka-server-start</string>
<string>/usr/local/etc/kafka/server.properties</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/kafka/kafka_output.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/kafka/kafka_output.log</string>
</dict>
</plist>在這里可以找到服務(wù)路徑、啟動(dòng)參數(shù)、日志路徑等
4.5 brew cask
Homebrew Cask 是 Homebrew 的擴(kuò)展,借助它可以方便地在 macOS 上安裝圖形界面程序,即我們常用的各類(lèi)應(yīng)用。Homebrew 中文含義為自制、自釀酒,Cask 中文含義為桶、木桶,桶裝酒是一種成品,也就是說(shuō)每一個(gè) homebrew cask 都可以直接使用的,比如 Atom 的 Cask 名稱(chēng)為 atom,那么就可以使用如下命令安裝:
brew cask install atom
甚至也可以提交新的 Cask,比如假設(shè)有桌面客戶(hù)端少數(shù)派,則用 brew cask create sspai 創(chuàng)建新的名稱(chēng)為 sspai 的 Cask,當(dāng)然還要提供官網(wǎng)下載鏈接、官方主頁(yè)、應(yīng)用版本等信息,可以參照 官方教程,此處就不再細(xì)說(shuō)。
安裝 Homebrew Cask【以后新版不需要安裝】
安裝好 brew 后,就可以執(zhí)行命令brew tap caskroom/cask獲取 Homebrew Cask。注意:
Caskroom 的 Git 地址在 2018 年 5 月 25 日從 https://github.com/caskroom/homebrew-cask遷移到了 https://github.com/Homebrew/homebrew-cask
所以,以后就不需要安裝 Homebrew Cask
4.6 使用 Homebrew Cask
github使用:https://github.com/Homebrew/homebrew-cask/blob/master/USAGE.mdbrew cask install <formula>安裝指定圖形界面軟件brew cask uninstall <formula>卸載軟件brew cask uninstall --force <formula>卸載軟件,帶參數(shù)brew cask search text搜索軟件brew cask list列出所有通過(guò) cask 安裝的軟件- 其它可以參考:https://github.com/Homebrew/homebrew-cask/blob/master/USAGE.md
舉例可安裝的軟件
# 安裝chrome brew cask install google-chrome # 安裝LaunchRocket brew cask install launchrocket
5. 圖像化工具 cakebrew
官方地址:https://www.cakebrew.com
Github 倉(cāng)庫(kù)地址:https://github.com/brunophilipe/Cakebrew

點(diǎn)擊上方導(dǎo)航欄的 Download,再點(diǎn)擊 Download Now 就下載安裝包,然后解壓的程序拖到應(yīng)用程序即可。

或者通過(guò) Homebrew 命令安裝:
brew install --cask cakebrew
打開(kāi)后,有點(diǎn)不太穩(wěn)定,顯示不了界面

大家可以到網(wǎng)上搜搜使用教程,比命令行方便些。
參考資料
https://zhuanlan.zhihu.com/p/111014448 安裝
https://sspai.com/post/56009#! 1.2 核心概念、3
https://blog.csdn.net/Amio_/article/details/109694893 1.1
組成部分https://cloud.tencent.com/developer/article/1867824
https://zhuanlan.zhihu.com/p/366354601 介紹 Homebrew 圖形化工具 cakebrew
到此這篇關(guān)于MacOS上Homebrew 安裝、配置、更改國(guó)內(nèi)鏡像源及使用圖文詳解的文章就介紹到這了,更多相關(guān)MacOS Homebrew 安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
kali-linux?202202?安裝w3af命令行版的詳細(xì)過(guò)程
這篇文章主要介紹了kali-linux?202202?安裝w3af命令行版,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
分享Win10 1903過(guò)TP的雙機(jī)調(diào)試問(wèn)題
本文給大家分享的是Win10 1903過(guò)TP的雙機(jī)調(diào)試問(wèn)題,通過(guò)實(shí)例代碼截圖的形式給大家展示的非常詳細(xì),需要的朋友參考下2019-11-11
deepseek本地部署流程(解決服務(wù)器繁忙以及隱私等問(wèn)題)
本文介紹了如何在本地部署DeepSeek,并詳細(xì)說(shuō)明了下載和安裝Ollama、ChatBoxAI以及拉取DeepSeek-R1模型的步驟,同時(shí),還提供了所需的硬件配置建議2025-02-02
Terraform集成簡(jiǎn)單Gitlab?CI方案詳解
這篇文章主要為大家介紹了Terraform?+?Gitlab?CI簡(jiǎn)單集成方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
基于Jupyter notebook搭建Spark集群開(kāi)發(fā)環(huán)境的詳細(xì)過(guò)程
Jupyter Notebook是一個(gè)開(kāi)源并且使用很廣泛項(xiàng)目,本文介紹如何基于Jupyter notebook搭建Spark集群開(kāi)發(fā)環(huán)境,通過(guò)實(shí)例截圖相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-10-10
如何將服務(wù)器上的python代碼通過(guò)QQ發(fā)送回傳信息(附實(shí)現(xiàn)方法)
這篇文章主要介紹了我將服務(wù)器上的python代碼通過(guò)QQ發(fā)送回傳信息(附實(shí)現(xiàn)方法),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05

