MacOS上Homebrew?安裝、配置、更改國內(nèi)鏡像源及使用圖文詳解
Homebrew筆記
1. 介紹
官網(wǎng):https://brew.sh/
對于習(xí)慣了使用命令來完成一切的程序員來說,安裝軟件這種小事,自然是能夠用命令解決,就不用圖形界面選擇。但是在 Linux
中,我們有 yum
、apt
、dnf
、pkg
等命令來完成軟件的安裝,macOS
卻并未為我們提供一個好用的包管理器,幫助我們更好的使用 macOS
。
好在,雖然官方?jīng)]有提供,我們卻可以使用 Homebrew 這一神器,來完成類似的工作,就如同 Homebrew
的 Slogan :“The missing package manager for macOS (or Linux)”
Homebrew
由開發(fā)者 Max Howell 開發(fā),并基于 BSD 開源,是一個非常方便的包管理器工具。在早期, Homebrew
僅有 macOS
的版本,后續(xù)隨著用戶的增多,Homebrew
還提供了 Linux
的版本,幫助開發(fā)者在 Linux 同樣使用 Homebrew
來配置環(huán)境。
1.1 組成部分
Homebrew
是一款包管理工具,目前支持 macOS
和 linux
系統(tǒng)。主要有四個部分組成: brew
、homebrew-core
、homebrew-cask
、homebrew-bottles
。
名稱 | 說明 |
---|---|
brew | Homebrew 源代碼倉庫 |
homebrew-core | Homebrew 核心源 |
homebrew-cask | 提供 macOS 應(yīng)用和大型二進制文件的安裝 |
homebrew-bottles | 預(yù)編譯二進制軟件包 |
1.2 核心概念
在正式介紹 Homebrew
的使用之前,我先為你介紹一下 Homebrew
中的一些核心的概念,了解這些概念,就可以幫助你更好的去使用 Homebrew
。
詞匯 | 含義 |
---|---|
formula (e) | 安裝包的描述文件,formulae 為復(fù)數(shù) |
cellar | 安裝好后所在的目錄 |
keg | 具體某個包所在的目錄,keg 是 cellar 的子目錄 |
bottle | 預(yù)先編譯好的包,不需要現(xiàn)場下載編譯源碼,速度會快很多;官方庫中的包大多都是通過 bottle 方式安裝 |
tap | 下載源,可以類比于 Linux 下的包管理器 repository |
cask | 安裝 macOS native 應(yīng)用的擴展,你也可以理解為有圖形化界面的應(yīng)用。 |
bundle | 描述 Homebrew 依賴的擴展 |
其中,最關(guān)鍵的是 tap
、cask
,我們在后續(xù)會經(jīng)常用到。
2. 安裝
復(fù)制下方命令到終端一鍵執(zhí)行即可,我這里用的第一個,是一個知乎博主分享的。
蘋果電腦 常規(guī)安裝腳本(推薦 完全體 幾分鐘安裝完成):
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
蘋果電腦 極速安裝腳本(精簡版 幾秒鐘安裝完成):
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed
蘋果電腦 卸載腳本:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"
常見錯誤去下方地址查看
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. 更換為國內(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 的倉庫目錄 cd "$(brew --repo)" #顯示當(dāng)前工作目錄的路徑 pwd # 查看當(dāng)前 Git 倉庫所配置的遠(yuǎn)程倉庫的詳細(xì)信息 git remote -v
git remote -v
命令用于查看當(dāng)前 Git
倉庫的遠(yuǎn)程倉庫信息。
輸出結(jié)果顯示 origin https://mirrors.ustc.edu.cn/brew.git (fetch)
和 origin https://mirrors.ustc.edu.cn/brew.git (push)
。這表明當(dāng)前 Homebrew
倉庫的遠(yuǎn)程源(名為origin
)的 URL
是 https://mirrors.ustc.edu.cn/brew.git
。(fetch)
表示從這個 URL
拉取代碼更新,(push)
表示向這個 URL
推送代碼更改。
以上為最終效果,大家最后有時間看就行
3.1 更換 brew.git 源
執(zhí)行下方命令,并看到 ORIGNN
地址已經(jīng)更新
# 切換到 Homebrew 的倉庫目錄 cd "$(brew --repo)" # 設(shè)置 Homebrew 倉庫的遠(yuǎn)程源 URL 為中國科學(xué)技術(shù)大學(xué)的鏡像地址 git remote set-url origin https://mirrors.ustc.edu.cn/brew.git # 顯示當(dāng)前 Homebrew 的配置信息,如各種配置參數(shù),如版本號、安裝路徑、鏡像地址等 brew config
重置為官方鏡像:
cd "$(brew --repo)" git remote set-url origin https://github.com/Homebrew/brew.git
3.2 更換 homebrew-core.git 源
通過下方命令發(fā)現(xiàn)錯誤,這個錯誤信息表明 Git
認(rèn)為在 “/opt/homebrew/Library/Taps/homebrew/homebrew-core
” 這個路徑下的倉庫所有權(quán)存在可疑情況。這通常是由于安全機制引起的,Git
可能擔(dān)心該倉庫不是在安全的環(huán)境下或者可能存在惡意操作的風(fēng)險。
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
按照要求執(zhí)行命令,這個命令會將指定的目錄添加到 Git
的安全目錄列表中,告訴 Git
這個目錄是安全的,可以進行操作。這樣,在后續(xù)執(zhí)行與這個倉庫相關(guān)的 Git
操作時,就不會再出現(xiàn)這個錯誤了。
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
軟件倉庫,提供 macOS
應(yīng)用和大型二進制文件),這個我沒弄,我就不演示了。
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
用戶
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile
zsh
用戶
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc source ~/.zshrc
brew4.x
系列有個 api
加速環(huán)境變量,是如下命令。阿里云鏡像是上下兩個變量HOMEBREW_BOTTLE_DOMAIN
和 HOMEBREW_API_DOMAIN
都有的,只需要吧里面的 ustc
換成 aliyun
即可 。然后這里我使用中科大 api
加速。后續(xù) Homebrew
在使用 API
時會通過中科大的鏡像加速地址來提高訪問速度。
bash
用戶
echo 'export HOMEBREW_API_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/api'>>~/.bash_profile source ~/.bash_profile
zsh
用戶
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)程倉庫的軟件,已安裝會顯示綠色的勾
- brew search /text/ 使用正則表達式搜軟件
- brew info <formula> 顯示指定軟件信息
- brew reinstall <formula> 重新安裝指定軟件,先卸載后安裝
- brew install <formula> --build-from-source 源碼安裝指定軟件,可以給定指定參數(shù)
- brew commands 列出所有可用命令
4.2 升級軟件相關(guān)
- brew update 自動升級 homebrew (從 github 下載最新版本)
- brew outdated 檢測已經(jīng)過時的軟件
- brew upgrade 升級所有已過時的軟件,即列出的以過時軟件
- brew upgrade <formula> 升級指定的軟件
- brew pin <formula> 禁止指定軟件升級
- brew unpin <formula> 解鎖禁止升級
- brew upgrade --all 升級所有的軟件包,包括未清理干凈的舊版本的包
- brew edit <formula> 編輯軟件,不會的情況下慎用
- brew tap 列出本地資源倉庫,其中 homebrew 是默認(rèn)倉庫,其它都是第三方倉庫
- brew tap <user/repo> 添加第三方倉庫,命名的規(guī)則按照 github 來定的。使用
- brew untap <user/repo> 刪除倉庫
- brew deps <formula> 查看指定軟件依賴于哪些軟件
- brew uses <formula> 查看指定軟件被哪些軟件所依賴
4.3 清理相關(guān)
homebrew
再升級軟件時候不會清理相關(guān)的舊版本,在軟件升級后我們可以使用如下命令清理
- brew cleanup -n 列出需要清理的內(nèi)容
- brew cleanup <formula> 清理指定的軟件過時包
- brew cleanup 清理所有的過時軟件
- brew unistall <formula> 卸載指定軟件
- brew unistall <fromula> --force 徹底卸載指定軟件,包括舊版本
通過 brew
安裝的文件會自動設(shè)置環(huán)境變量,所以不用擔(dān)心命令行不能啟動的問題。
比如安裝好了 gradle
,即可運行 gradle -v
4.4 管理后臺服務(wù)
macOS
使用 launchctl
命令加載開機自動運行的服務(wù),brew service
可以簡化 lauchctl
的操作。
以 <font style="color:#ECAA04;">MySQL</font>
為例,使用 <font style="color:#ECAA04;">launchctl</font>
啟動:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
如使用 brew service
可以簡化為:
brew services start mysql
services
常用命令
- brew services list # 查看使用brew安裝的服務(wù)列表
- brew services run formula|–all # 啟動服務(wù)(僅啟動不注冊)
- brew services start formula|–all # 啟動服務(wù),并注冊
- brew services stop formula|–all # 停止服務(wù),并取消注冊
- brew services restart formula|–all # 重啟服務(wù),并注冊
- brew services cleanup # 清除已卸載應(yīng)用的無用的配置
- 配置文件目錄
/Library/LaunchDaemons # 開機自啟,需要sudo ~/Library/LaunchAgents # 用戶登錄后自啟
以 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ù)路徑、啟動參數(shù)、日志路徑等
4.5 brew cask
Homebrew Cask
是 Homebrew
的擴展,借助它可以方便地在 macOS
上安裝圖形界面程序,即我們常用的各類應(yīng)用。Homebrew
中文含義為自制、自釀酒,Cask
中文含義為桶、木桶,桶裝酒是一種成品,也就是說每一個 homebrew cask
都可以直接使用的,比如 Atom
的 Cask
名稱為 atom
,那么就可以使用如下命令安裝:
brew cask install atom
甚至也可以提交新的 Cask
,比如假設(shè)有桌面客戶端少數(shù)派,則用 brew cask create sspai
創(chuàng)建新的名稱為 sspai
的 Cask
,當(dāng)然還要提供官網(wǎng)下載鏈接、官方主頁、應(yīng)用版本等信息,可以參照 官方教程,此處就不再細(xì)說。
安裝 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
列出所有通過 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
倉庫地址:https://github.com/brunophilipe/Cakebrew
點擊上方導(dǎo)航欄的 Download
,再點擊 Download Now
就下載安裝包,然后解壓的程序拖到應(yīng)用程序即可。
或者通過 Homebrew
命令安裝:
brew install --cask cakebrew
打開后,有點不太穩(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 安裝、配置、更改國內(nèi)鏡像源及使用圖文詳解的文章就介紹到這了,更多相關(guān)MacOS Homebrew 安裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
kali-linux?202202?安裝w3af命令行版的詳細(xì)過程
這篇文章主要介紹了kali-linux?202202?安裝w3af命令行版,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06deepseek本地部署流程(解決服務(wù)器繁忙以及隱私等問題)
本文介紹了如何在本地部署DeepSeek,并詳細(xì)說明了下載和安裝Ollama、ChatBoxAI以及拉取DeepSeek-R1模型的步驟,同時,還提供了所需的硬件配置建議2025-02-02基于Jupyter notebook搭建Spark集群開發(fā)環(huán)境的詳細(xì)過程
Jupyter Notebook是一個開源并且使用很廣泛項目,本文介紹如何基于Jupyter notebook搭建Spark集群開發(fā)環(huán)境,通過實例截圖相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-10-10如何將服務(wù)器上的python代碼通過QQ發(fā)送回傳信息(附實現(xiàn)方法)
這篇文章主要介紹了我將服務(wù)器上的python代碼通過QQ發(fā)送回傳信息(附實現(xiàn)方法),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05