brew(1) – 缺失的 macOS (或 Linux) 套件管理器

概要

brew --version
brew 指令 [--verbose|-v] [選項] [公式] …

描述

Homebrew 是安裝 macOS 中未包含的 UNIX 工具的最簡單和最靈活的方式。它還可以安裝未針對您的 Linux 發行版打包的軟體,而無需使用 sudo

術語

公式

從上游來源構建的 Homebrew 套件定義

cask

安裝 macOS 本機應用程式的 Homebrew 套件定義

前綴

Homebrew 安裝的路徑,例如 /usr/local

給定 公式 版本的安裝目的地目錄,例如 /usr/local/Cellar/foo/0.1

包含一個或多個有版本的 的目錄,例如 /usr/local/Cellar/foo

僅桶

如果 公式 沒有連結到 Homebrew 前綴,則它是僅桶

選擇前綴

指向 的活動版本的符號連結,例如 /usr/local/opt/foo

酒窖

包含一個或多個命名的 的目錄,例如 /usr/local/Cellar

Caskroom

包含一個或多個命名的 的目錄,例如 /usr/local/Caskroom

外部指令

在 Homebrew/brew GitHub 存儲庫之外定義的 brew 子指令

輕打

公式 和/或 外部指令 的目錄(通常是 Git 存儲庫)

瓶子

預先構建的,倒入到 酒窖 中的 ,而不是從上游來源構建

基本指令

有關完整指令列表,請參閱指令部分。

使用 --verbose--debug,許多指令會打印額外的調試資訊。請注意,這些選項應該僅在指令之後出現。

一些指令行為可以通過環境變數進行自定義;請參閱環境部分。

install 公式

安裝 公式

公式 通常是要安裝的公式名稱,但它還有其他列在指定公式部分的語法。

uninstall 公式

卸載 formula

列表

列出所有已安裝的 formulae。

search [text|/text/]

對 cask tokens 和 formula names 執行子字串搜索以尋找 text。如果 text 被斜杠包圍,則解釋為正則表達式。對 text 的搜索在線擴展到 homebrew/corehomebrew/cask。如果未提供搜索條件,則列出所有本地可用的 formulae。

指令

analytics [subcommand]

控制 Homebrew 的匿名聚合用戶行為分析。詳情請參閱 https://homebrew.dev.org.tw/Analytics

brew analytics [state]

顯示 Homebrew 分析的當前狀態。

brew analytics (on|off)

分別開啟或關閉 Homebrew 分析。

autoremove [--dry-run]

卸載僅作為另一個 formula 的依賴關係而安裝的 formulae,且現在不再需要。

-n, --dry-run

列出將要卸載的內容,但實際上不卸載任何內容。

casks

列出所有本地可安裝的 casks,包括簡稱。

cleanup [options] [formula|cask …]

刪除所有 formulae 和 casks 的陳舊鎖定文件和過時的下載文件,並刪除已安裝 formulae 的舊版本。如果指定了參數,則僅針對給定的 formulae 和 casks 執行此操作。刪除所有超過 120 天的下載。可以使用 HOMEBREW_CLEANUP_MAX_AGE_DAYS 進行調整。

--prune

刪除所有舊於指定 days 的緩存文件。如果要刪除所有內容,請使用 --prune=all

-n, --dry-run

顯示將要刪除的內容,但實際上不刪除任何內容。

-s

清理緩存,包括最新版本的下載文件。請注意,任何已安裝 formulae 或 casks 的下載文件仍不會被刪除。如果也想刪除它們:rm -rf "$(brew --cache)"

--prune-prefix

只從前綴中修剪符號連結和目錄,不移除其他文件。

command command […]

在調用 brew cmd 時顯示所使用文件的路徑。

commands [--quiet] [--include-aliases]

顯示內置和外部命令的列表。

-q, --quiet

僅列出命令的名稱,不包括類別標題。

--include-aliases

包括內部命令的別名。

completions [subcommand]

控制 Homebrew 是否自動連結外部 tap 的 shell 完整性文件。詳細資訊請參閱 https://homebrew.dev.org.tw/Shell-Completion

brew completions [state]

顯示 Homebrew 完整性的當前狀態。

brew completions (link|unlink)

連結或取消連結 Homebrew 完整性。

config, --config

顯示有用於除錯的 Homebrew 和系統配置信息。如果您提交錯誤報告,則需要提供此信息。

deps [options] [formula|cask …]

顯示 formula 的依賴項。當給定多個 formula 參數時,顯示每個 formula 的依賴項的交集。默認情況下,deps 顯示所有必需和建議的依賴項。

如果安裝了每個公式參數的任何版本並且沒有傳遞其他選項,此命令將顯示它們的實際運行時依賴關係(類似於 brew linkage),如果安裝的版本過時,則此依賴關係可能與當前版本的聲明依賴關係不同。

注意: --missing--skip-recommended 的優先順序高於 --include-*

-n, --topological

按拓撲順序排序依賴關係。

-1, --direct

僅顯示公式中聲明的直接依賴關係。

--union

顯示多個 formula 的依賴關係的聯集,而不是交集。

--full-name

按完整名稱列出依賴關係。

--include-build

包括 formula:build 依賴關係。

--include-optional

包括 formula:optional 依賴關係。

--include-test

包括 formula:test 依賴關係(非遞歸)。

--skip-recommended

跳過 formula:recommended 依賴關係。

--include-requirements

除了依賴關係外,還包括 formula 的要求。

--tree

將依賴關係顯示為樹狀結構。當給出多個公式參數時,為每個公式顯示單獨的樹狀結構。

--graph

將依賴關係顯示為有向圖。

--dot

以 DOT 格式顯示基於文本的圖形描述。

--annotate

在輸出中標記任何構建、測試、隱式、可選或建議的依賴關係。

--installed

列出當前已安裝的公式的依賴關係。如果指定了 formula,則僅列出當前已安裝的其依賴關係。

--missing

僅顯示缺失的依賴關係。

--eval-all

評估所有可用的公式和桶,無論是否已安裝,以列出它們的依賴關係。

--for-each

切換到由--eval-all選項使用的模式,但僅列出每個提供的formula的依賴關係,每行一個公式。這用於調試--installed/--eval-all顯示模式。

--HEAD

顯示HEAD版本的依賴關係,而不是穩定版本。

--os

顯示指定操作系統的依賴關係。

--arch

顯示指定CPU架構的依賴關係。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

desc [options] formula|cask|text|/regex/ […]

顯示formula的名稱和一行描述。在第一次搜索時創建緩存,使得該搜索比後續的搜索慢。

-s, --search

搜索名稱和描述以找到text。如果text被斜杠括起來,則將其解釋為正則表達式。

-n, --name

僅搜索名稱以找到text。如果text被斜杠括起來,則將其解釋為正則表達式。

-d, --description

僅搜索描述以找到text。如果text被斜杠括起來,則將其解釋為正則表達式。

--eval-all

評估所有可用的公式和桶,無論是否已安裝,以搜索其描述。如果設置了HOMEBREW_EVAL_ALL,則默認為true。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

developer [subcommand]

控制Homebrew的開發者模式。啟用開發者模式時,brew update將Homebrew更新為master分支上的最新提交,而不是最新的穩定版本,還會有一些其他行為更改。

brew developer [state]

顯示 Homebrew 開發者模式的當前狀態。

brew developer (on|off)

分別啟用或關閉 Homebrew 的開發者模式。

文檔

在瀏覽器中打開 Homebrew 的在線文檔,網址為 https://homebrew.dev.org.tw

doctor, dr [--list-checks] [--audit-debug] [diagnostic_check …]

檢查系統是否存在潛在問題。如果發現任何潛在問題,將以非零狀態退出。

請注意,這些警告僅用於幫助 Homebrew 的維護者進行調試,如果您提交問題。如果您使用 Homebrew 的一切正常運行,請不要擔心或提交問題,只需忽略它。

--list-checks

列出所有審核方法,如果提供作為參數,則可以單獨運行。

-D, --audit-debug

啟用審核方法的調試和分析。

fetch [options] formula|cask […]

下載 formulae 的二進制瓶或源代碼(如果有),以及 casks 的二進制文件。對於文件,還會打印 SHA-256 校驗和。

--os

下載給定的操作系統。 (傳遞 all 以下載所有操作系統。)

--arch

下載給定的 CPU 架構。 (傳遞 all 以下載所有架構。)

--bottle-tag

下載給定標籤的二進制瓶。

--HEAD

下載 HEAD 版本而不是穩定版本。

-f, --force

刪除之前緩存的版本並重新下載。

-v, --verbose

執行詳細 VCS 檢查,如果 URL 代表一個 VCS 的話。這對於查看現有 VCS 快取是否已更新很有用。

--retry

如果下載失敗,或者先前快取版本的校驗和不再匹配,則重試或重新下載。最多嘗試 5 次,採用指數退避。

--deps

同時下載任何列出的formula的依賴項。

-s, --build-from-source

下載源代碼包而不是瓶子。

--build-bottle

下載源代碼包(用於最終裝瓶),而不是瓶子。

--force-bottle

如果存在於當前或最新版本的 macOS 中,即使在安裝期間不會使用,也要下載瓶子。

--[no-]quarantine

禁用/啟用下載的隔離(默認:啟用)。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

formulae

列出所有本地可安裝的formulae,包括簡短名稱。

gist-logs [options] formula

formula的失敗構建日誌上傳到一個新的 Gist。如果找不到日誌,則顯示錯誤消息。

--with-hostname

在 Gist 中包含主機名。

-n, --new-issue

在創建 Gist 後,自動在適當的 GitHub 存儲庫中創建新的問題。

-p, --private

Gist 將被標記為私有,不會顯示在列表中,但可以使用其鏈接訪問。

help [command …]

輸出brew command的使用說明。等效於brew --help command

home, homepage [--formula] [--cask] [formula|cask …]

在瀏覽器中打開formulacask的主頁,如果沒有提供參數,則打開Homebrew的官方主頁。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

info, abv [options] [formula|cask …]

顯示您的Homebrew安裝的簡要統計信息。如果提供了formulacask,則顯示有關它的信息摘要。

--analytics

列出全局Homebrew分析數據,或者如果指定了,則列出formula的安裝和構建錯誤數據(假設未設置HOMEBREW_NO_ANALYTICSHOMEBREW_NO_GITHUB_API)。

--days

要檢索的分析數據天數。 days 的值必須是3090365。默認值為30

--category

要檢索的分析數據類型。 category 的值必須是installinstall-on-requestbuild-error;如果未指定formula,則可以指定cask-installos-version。默認值為install

--github

在瀏覽器中打開formulacask的GitHub源頁面。要在本地查看歷史記錄:brew log -p formulacask

--json

打印JSON表示。目前version的默認值為v1,用於formula。對於formulacask,使用v2。請參閱文檔以獲取使用JSON輸出的示例:https://homebrew.dev.org.tw/Querying-Brew

--installed

列印目前已安裝的公式的 JSON。

--eval-all

評估所有可用的公式和桶,無論是否已安裝,以列印它們的 JSON。如果設置了 HOMEBREW_EVAL_ALL,則隱含執行此操作。

--變化

將每個公式的 JSON 輸出中包含變化哈希。

-v, --verbose

顯示更詳細的分析數據以供 formula 使用。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

install [options] formula|cask […]

安裝 formulacask。可能會將特定於 formula 的其他選項附加到命令中。

除非設置了 HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK,否則將為已過時的依賴和具有破損連結的依賴分別運行 brew upgradebrew reinstall

除非設置了 HOMEBREW_NO_INSTALL_CLEANUP,否則將運行 brew cleanup 以清理已安裝的公式,或每 30 天清理所有公式。

除非設置了 HOMEBREW_NO_INSTALL_UPGRADE,否則如果已安裝但過時,brew install formula 將升級 formula

-d, --debug

如果酿造失败,打开一个交互式调试会话,可以访问 IRB 或临时构建目录中的 shell。

--顯示時間

在运行结束时打印每个软件包的安装时间。

-f, --force

安裝公式時不檢查先前安裝的僅限桶或未遷移的版本。安裝桶時,覆蓋現有文件(二進位文件和符號鏈接除外,除非原始來自同一桶)。

-v, --verbose

打印驗證和安裝後步驟。

-n, --dry-run

顯示將要安裝的內容,但實際上不安裝任何東西。

--formula

將所有命名參數視為公式。

--ignore-dependencies

一個不受支援的 Homebrew 開發選項,用於跳過安裝任何類型的依賴。如果依賴項目尚未存在,公式將會出現問題。如果您不是在開發 Homebrew,請考慮調整您的 PATH,而不是使用此選項。

--only-dependencies

安裝指定選項的依賴項目,但不安裝公式本身。

--cc

嘗試使用指定的 compiler 編譯,該編譯器的可執行文件名應該是編譯器的名稱,例如對於 GCC 7,應該是 gcc-7。為了使用 LLVM 的 clang,請指定 llvm_clang。要使用蘋果提供的 clang,請指定 clang。此選項僅接受由 Homebrew 提供或隨 macOS 捆綁的編譯器。如果您在使用此選項時遇到錯誤,請不要提交問題。

-s, --build-from-source

即使提供了瓶裝版本,也從源代碼編譯 formula。如果可用,依賴項目仍將從瓶裝版本安裝。

--force-bottle

如果當前版本或最新版本的 macOS 存在瓶裝版本,則安裝該瓶裝版本,即使通常不會使用它進行安裝。

--include-test

安裝運行 brew test 所需的測試依賴項目。

--HEAD

如果 formula 定義了,安裝 HEAD 版本,也就是主要版本、主幹版本、不穩定版本、主控版本。

--fetch-HEAD

檢索上游存儲庫以檢測公式的 HEAD 安裝是否過時。否則,只有在釋出新的穩定或開發版本時,才會檢查存儲庫的 HEAD 是否有更新。

--keep-tmp

保留安裝期間創建的臨時文件。

--debug-symbols

在構建時生成調試符號。源代碼將保留在緩存目錄中。

--build-bottle

在安裝期間準備公式以便最終進行瓶裝,跳過任何後安裝步驟。

--skip-post-install

安裝但跳過任何後安裝步驟。

--bottle-arch

為指定的架構優化瓶裝版本,而不是針對 macOS 版本支持的最舊架構進行優化。

-i, --interactive

下載並修補 formula,然後打開一個 shell。這允許用戶運行 ./configure --help,並確定如何將軟件包裝成 Homebrew 包。

-g, --git

創建一個 Git 存儲庫,用於創建對軟件的補丁。

--overwrite

在連接時刪除已存在於前綴中的文件。

--cask

將所有命名參數視為桶。

--[no-]binaries

停用/啟用輔助執行檔的連結(預設值:啟用)。

--require-sha

要求所有桶(cask)都具有校驗和檢查碼。

--[no-]quarantine

禁用/啟用下載的隔離(默認:啟用)。

--adopt

採用目的地中與安裝的相同的現有產品。無法與 --force 結合使用。

--skip-cask-deps

跳過安裝桶(cask)的相依性。

--zap

用於 brew reinstall --cask。刪除與桶(cask)相關的所有檔案。可能會刪除應用程式之間共享的檔案。

leaves [--installed-on-request] [--installed-as-dependency]

列出已安裝的公式(formula)中不是其他已安裝公式或桶(cask)的相依性的項目。

-r, --installed-on-request

僅列出手動安裝的項目。

-p, --installed-as-dependency

僅列出作為相依性安裝的項目。

公式的所有已安裝檔案的符號連結到 Homebrew 的前綴目錄。當您安裝公式時,這是自動完成的,但對於手動安裝可能很有用。

--overwrite

在連接時刪除已存在於前綴中的文件。

-n, --dry-run

列出將由 brew link --overwrite 連結或刪除的檔案,但實際上不會連結或刪除任何檔案。

-f, --force

允許僅限桶(cask)的公式進行連結。

--HEAD

如果已安裝,則連結公式的 HEAD 版本。

list, ls [選項] [已安裝的公式|已安裝的桶 …]

列出所有已安裝的公式和桶(cask)。如果提供公式,則摘要顯示其當前桶中的路徑。如果提供,則列出其產品。

--formula

僅列出公式,或將所有命名參數視為公式。

--cask

僅列出桶(cask),或將所有命名參數視為桶(cask)。

--full-name

顯示具有完全合格名稱的公式。除非傳遞了 --full-name--versions--pinned,否則傳遞其他選項(即 -1-l-r-t)給 ls(1),以產生實際輸出。

--versions

顯示已安裝的公式的版本號,或僅顯示指定的公式,如果提供了公式

--multiple

僅顯示安裝了多個版本的公式。

--置頂

僅列出已置頂的公式,或僅列出指定(已置頂)的公式(如果提供了formula)。另請參閱pinunpin

--已按要求安裝

列出根據要求安裝的公式。

--作為依賴安裝

列出作為依賴項安裝的公式。

-1

強制輸出為每行一個項目。如果輸出不是到終端,則這是默認行為。

-l

以長格式列出公式和/或桶。當傳遞公式或桶名稱作為參數時無效。

-r

反轉公式和/或桶的排序順序,將最舊的條目列在首位。當傳遞公式或桶名稱作為參數時無效。

-t

按修改時間排序公式和/或桶,最近修改的項目排在首位。當傳遞公式或桶名稱作為參數時無效。

log [options] [formula|cask]

顯示formulacaskgit log,如果沒有提供公式或桶,則顯示Homebrew存儲庫的日誌。

-p--patch

也打印提交的補丁。

--stat

也打印提交的diffstat。

--oneline

每次提交只打印一行。

-1

只打印一次提交。

-n--max-count

僅打印指定數量的提交。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

migrate [options] installed_formula|installed_cask […]

將已更名的套件遷移到新名稱,其中formula是套件的舊名稱。

-f, --force

將已安裝的formula和提供的formula視為來自同一個儲存庫,並無論如何都將它們遷移。

-n, --dry-run

顯示將要遷移的內容,但不實際進行遷移。

--formula

僅遷移公式。

--cask

僅遷移桶。

missing [--hide=] [formula …]

檢查給定的formula桶是否缺少依賴項。如果沒有提供formula,則檢查所有桶。如果發現任何缺少依賴項的桶,將以非零狀態退出。

--hide

假裝未安裝指定的hiddenhidden應該是一個以逗號分隔的公式列表。

nodenv-sync

~/.nodenv/versions中為Homebrew安裝的NodeJS版本創建符號鏈接。

請注意,還將創建舊版本的符號鏈接,因此例如NodeJS 19.1.0也將被符號鏈接到19.0.0。

options [options] [formula …]

顯示特定於formula的安裝選項。

--compact

將所有選項顯示在單行上,用空格分隔。

--installed

顯示當前已安裝的公式的選項。

--eval-all

評估所有可用的公式和桶,無論是否已安裝,以顯示它們的選項。

--command

顯示指定command的選項。

outdated [options] [formula|cask …]

列出有可用更新版本的已安裝桶和公式。默認情況下,在交互式殼中顯示版本信息,在其他情況下則不顯示。

-q, --quiet

僅列出名稱已過時的桶(優先於--verbose)。

-v, --verbose

包括詳細的版本信息。

--formula

僅列出已過時的公式。

--cask

僅列出已過時的桶。

--json

以 JSON 格式輸出結果。有兩個版本:v1v2。若未指定版本,則預設為 v1,但此版本已被棄用。 v2 則列印過時的公式和桶。

--fetch-HEAD

檢索上游存儲庫以檢測公式的 HEAD 安裝是否過時。否則,只有在釋出新的穩定或開發版本時,才會檢查存儲庫的 HEAD 是否有更新。

-g, --greedy

同時包含自動更新為真(auto_updates true)或版本為最新(version :latest)的過時桶。

--greedy-latest

同時包含版本為最新(version :latest)的過時桶。

--greedy-auto-updates

同時包含自動更新為真(auto_updates true)的過時桶。

pin installed_formula […]

釘選指定的formula,當執行 brew upgrade formula 命令時,防止它們被升級。另請參見unpin

註:依賴於被釘選的 formula 的其他套件可能無法正確安裝或運行新版本。

postinstall, post_install installed_formula […]

重新執行formula的後安裝步驟。

pyenv-sync

~/.pyenv/versions中為 Homebrew 安裝的 Python 版本創建符號連結。

請注意,舊的修補版本符號連結將被創建並連結到次要版本,例如,Python 3.11.0 也將連結到 3.11.3。

rbenv-sync

~/.rbenv/versions中為 Homebrew 安裝的 Ruby 版本創建符號連結。

請注意,舊版本符號連結也將被創建,例如,Ruby 3.2.1 也將連結到 3.2.0。

readall [options] [tap …]

從指定的 tap 匯入所有項目,如果未提供任何項目,則從所有安裝的 tap 中匯入。當對 formula.rb 進行重大更改時,跨所有項目進行調試問題,測試加載所有項目的性能,或檢查任何當前的 formulae/casks 是否有 Ruby 問題時,這可能很有用。

--os

使用給定的操作系統進行讀取。(傳遞 all 以模擬所有操作系統。)

--arch

使用給定的 CPU 架構進行讀取。(傳遞 all 以模擬所有架構。)

--aliases

驗證每個 tap 中的任何別名符號鏈結。

--syntax

檢查 Homebrew 的所有 Ruby 文件的語法(如果未傳遞 tap)。

--eval-all

評估所有可用的 formulaecasks,無論是否已安裝。如果設置了 HOMEBREW_EVAL_ALL,則隱含。

--no-simulate

檢查 formulaecasks 時,不模擬其他系統配置。

reinstall [options] formula|cask […]

卸載然後使用與原始安裝時相同的選項重新安裝 formulacask,以及特定於 formula 的任何附加選項。

除非設置了 HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK,否則將為已過時的依賴和具有破損連結的依賴分別運行 brew upgradebrew reinstall

除非設置了 HOMEBREW_NO_INSTALL_CLEANUP,否則將為重新安裝的 formulae 或每 30 天為所有 formulae 執行 brew cleanup

-d, --debug

如果酿造失败,打开一个交互式调试会话,可以访问 IRB 或临时构建目录中的 shell。

--顯示時間

在运行结束时打印每个软件包的安装时间。

-f, --force

安裝時不檢查先前安裝的僅限桶裝或未遷移版本。

-v, --verbose

打印驗證和安裝後步驟。

--formula

將所有命名參數視為公式。

-s, --build-from-source

即使有瓶可用,也從源代碼編譯 formula

-i, --interactive

下載並修補 formula,然後打開一個 shell。這允許用戶運行 ./configure --help,並確定如何將軟件包裝成 Homebrew 包。

--force-bottle

如果當前版本或最新版本的 macOS 存在瓶裝版本,則安裝該瓶裝版本,即使通常不會使用它進行安裝。

--keep-tmp

保留安裝期間創建的臨時文件。

--debug-symbols

在構建時生成調試符號。源代碼將保留在緩存目錄中。

-g, --git

創建一個 Git 存儲庫,用於創建對軟件的補丁。

--cask

將所有命名參數視為桶。

--[no-]binaries

停用/啟用輔助執行檔的連結(預設值:啟用)。

--require-sha

要求所有桶(cask)都具有校驗和檢查碼。

--[no-]quarantine

禁用/啟用下載的隔離(默認:啟用)。

--adopt

採用目的地中與安裝的相同的現有產品。無法與 --force 結合使用。

--skip-cask-deps

跳過安裝桶(cask)的相依性。

--zap

用於 brew reinstall --cask。刪除與桶(cask)相關的所有檔案。可能會刪除應用程式之間共享的檔案。

search, -S [options] text|/regex/ […]

執行對 cask 標記和公式名稱進行子字串搜尋,以尋找 text。如果 text 被斜線包圍,則被解釋為正則表達式。

--formula

搜索公式。

--cask

搜索 cask。

--desc

搜索具有與 text 匹配的描述的公式,以及具有與 text 匹配的名稱或描述的 cask。

--eval-all

評估所有可用的公式和桶,無論是否已安裝,以搜索其描述。如果設置了HOMEBREW_EVAL_ALL,則默認為true。

--pull-request

搜索包含 text 的 GitHub 拉取請求。

--open

僅搜索開放的 GitHub 拉取請求。

--closed

僅搜索已關閉的 GitHub 拉取請求。

--repology

在給定的數據庫中搜索 text

--macports

在給定的數據庫中搜索 text

--fink

在給定的數據庫中搜索 text

--opensuse

在給定的數據庫中搜索 text

--fedora

在給定的數據庫中搜索 text

--archlinux

在給定的數據庫中搜索 text

--debian

在給定的數據庫中搜索 text

--ubuntu

在給定的數據庫中搜索 text

setup-ruby [命令]

安裝並配置 Homebrew 的 Ruby。如果傳遞了 command,則僅在該命令需要時運行 Bundler。

shellenv [bash|csh|fish|pwsh|sh|tcsh|zsh]

打印導出語句。當在 shell 中運行時,此 Homebrew 的安裝將被添加到您的 PATHMANPATHINFOPATH 中。

變量 HOMEBREW_PREFIXHOMEBREW_CELLARHOMEBREW_REPOSITORY 也被導出,以避免多次查詢它們。為了幫助保證冪等性,當 Homebrew 的 binsbin 目錄分別位於您的 PATH 中的第一個和第二個位置時,此命令不會產生任何輸出。考慮將此命令的輸出評估添加到您的點文件中(例如在 macOS 上是 ~/.bash_profile~/.zprofile,在 Linux 上是 ~/.bashrc~/.zshrc): eval "$(brew shellenv)"

可以使用受支持的 shell 名稱參數明確指定 shell。未知的 shell 將輸出 POSIX 導出。

tap [options] [user/repo] [URL]

點擊一個公式庫。如果未提供任何參數,將列出所有已安裝的 taps。

如果未指定 URL,則使用 HTTPS 從 GitHub 點擊一個公式庫。由於許多 taps 都托管在 GitHub 上,此命令是一個快捷方式,可以使用 brew tap user/repo https://github.com/user/homebrew-repo

在指定了 URL 的情況下,可以使用 git(1) 支援的任何傳輸協議,從任何地方點擊一個公式存儲庫。一個參數形式的 tap 簡化了操作但也有限制。這個兩個參數的指令不做任何假設,因此可以從 GitHub 以外的地方克隆 tap,並使用其他協議,如 SSH、git、HTTP、FTP(S)、rsync。

--custom-remote

安裝或更改具有自定遠端的 tap。對於鏡像很有用。

--repair

將已點擊的公式從符號鏈接式結構遷移到目錄式結構。

--eval-all

評估新 tap 中的所有公式、桶和別名以檢查其有效性。如果設置了 HOMEBREW_EVAL_ALL,則默認為真。

--force

即使在 API 模式下也強制安裝核心 tap。

tap-info [--installed] [--json] [tap …]

顯示有關一個或多個 tap 的詳細信息。如果沒有提供 tap 名稱,則顯示所有已安裝 tap 的簡要統計信息。

--installed

顯示每個已安裝 tap 的信息。

--json

打印 tap 的 JSON 表示形式。目前 version 的默認和唯一接受的值為 v1。參見文檔以獲取使用 JSON 輸出的示例:https://homebrew.dev.org.tw/Querying-Brew

uninstall, remove, rm [options] installed_formula|installed_cask […]

卸載一個 formulacask

-f, --force

刪除所有已安裝版本的 formula。即使未安裝 cask,也要卸載,覆蓋現有文件並在刪除文件時忽略錯誤。

--zap

刪除與 cask 相關的所有文件。 可能會刪除在應用程序之間共享的文件。

--ignore-dependencies

即使 formula 是任何已安裝公式的依賴項,也不要失敗卸載。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

從 Homebrew 的路徑中移除formula的符號連結。這對於暫時停用一個 formula 是有用的:brew unlink formula && commands && brew link formula

-n, --dry-run

列出將會取消連結的檔案,但不會實際取消連結或刪除任何檔案。

unpin installed_formula […]

取消釘選formula,使其可以被brew upgrade formula 升級。另見pin

untap [--force] tap […]

移除一個已經 tap 過的 formula 儲存庫。

-f, --force

即使此 tap 中的 formulae 或 casks 目前已安裝,也進行 untap。

update [options]

使用git(1)從 GitHub 上取得 Homebrew 和所有 formulae 的最新版本,並執行任何必要的遷移。

--merge

使用git merge來應用更新(而不是git rebase)。

--auto-update

在自動更新上運行(例如在brew install之前)。跳過一些較慢的步驟。

-f, --force

始終進行較慢的完整更新檢查(即使不必要)。

update-reset [path-to-tap-repository …]

使用git(1)將 Homebrew 和所有 tap 儲存庫(或任何指定的repository)的最新origin/HEAD取回並重設。

注意:這將破壞您的所有未提交或已提交的更改。

升級 [選項] [已安裝公式|已安裝桶 …]

使用與原始安裝時相同的選項以及任何追加的 brew 公式選項,升級過時的桶和過時未釘選的公式。如果指定了公式,則僅升級給定的公式桶(除非它們被釘選;參見pinunpin)。

除非設置了 HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK,否則將為已過時的依賴和具有破損連結的依賴分別運行 brew upgradebrew reinstall

除非設置了HOMEBREW_NO_INSTALL_CLEANUP,否則將運行brew cleanup以清理升級的公式,或者每 30 天清理所有公式。

-d, --debug

如果酿造失败,打开一个交互式调试会话,可以访问 IRB 或临时构建目录中的 shell。

--顯示時間

在运行结束时打印每个软件包的安装时间。

-f, --force

安裝公式時不檢查先前安裝的僅限桶或未遷移的版本。安裝桶時,覆蓋現有文件(二進位文件和符號鏈接除外,除非原始來自同一桶)。

-v, --verbose

打印驗證和安裝後步驟。

-n, --dry-run

顯示將要升級的內容,但不實際進行升級。

--formula

將所有命名參數視為公式。如果未指定命名參數,則僅升級過時的公式。

-s, --build-from-source

即使有瓶可用,也從源代碼編譯 formula

-i, --interactive

下載並修補 formula,然後打開一個 shell。這允許用戶運行 ./configure --help,並確定如何將軟件包裝成 Homebrew 包。

--force-bottle

如果當前版本或最新版本的 macOS 存在瓶裝版本,則安裝該瓶裝版本,即使通常不會使用它進行安裝。

--fetch-HEAD

檢索上游存儲庫以檢測公式的 HEAD 安裝是否過時。否則,只有在釋出新的穩定或開發版本時,才會檢查存儲庫的 HEAD 是否有更新。

--keep-tmp

保留安裝期間創建的臨時文件。

--debug-symbols

在構建時生成調試符號。源代碼將保留在緩存目錄中。

--overwrite

在連接時刪除已存在於前綴中的文件。

--cask

將所有命名參數視為桶。如果未指定命名參數,則僅升級過時的桶。

--skip-cask-deps

跳過安裝桶(cask)的相依性。

-g, --greedy

還包括具有auto_updates trueversion :latest的桶。

--greedy-latest

還包括具有version :latest的桶。

--greedy-auto-updates

還包括具有auto_updates true的桶。

--[no-]binaries

停用/啟用輔助執行檔的連結(預設值:啟用)。

--require-sha

要求所有桶(cask)都具有校驗和檢查碼。

--[no-]quarantine

禁用/啟用下載的隔離(默認:啟用)。

uses [選項] 公式 […]

顯示指定公式為依賴的公式和桶;即顯示公式的依賴項。當給定多個公式參數時,顯示使用公式的公式的交集。默認情況下,uses顯示所有將公式指定為其穩定版本構建的必需或建議依賴項的公式和桶。

注意: --missing--skip-recommended 的優先順序高於 --include-*

--遞歸

解決多層次的依賴關係。

--installed

僅列出目前已安裝的公式和桶。

--missing

僅列出目前未安裝的公式和桶。

--eval-all

評估所有可用的公式和桶,無論是否已安裝,以顯示它們的相依項目。

--include-build

包含將公式指定為 :build 依賴項目的公式。

--include-test

包含將公式指定為 :test 依賴項目的公式。

--include-optional

包含將公式指定為 :optional 依賴項目的公式。

--skip-recommended

跳過所有將公式指定為 :recommended 依賴項目的公式。

--formula

僅包含公式。

--cask

僅包含桶。

--cache [options] [formula|cask …]

顯示 Homebrew 的下載快取。另請參閱 HOMEBREW_CACHE

如果提供了 formula,則顯示用於快取 formula 的文件或目錄。

--os

顯示給定操作系統的快取文件。(傳遞 all 以顯示所有操作系統的快取文件。)

--arch

顯示給定 CPU 架構的快取文件。(傳遞 all 以顯示所有架構的快取文件。)

-s, --build-from-source

顯示從源代碼構建時使用的快取文件。

--force-bottle

顯示倒入瓶子時使用的快取文件。

--bottle-tag

顯示倒入指定標籤瓶子時使用的快取文件。

--HEAD

顯示從 HEAD 構建時使用的快取文件。

--formula

僅顯示公式的快取文件。

--cask

僅顯示桶的快取文件。

--caskroom [cask …]

顯示 Homebrew 的 Caskroom 路徑。

如果提供了 cask,則顯示安裝 cask 的 Caskroom 中的位置,最後一個路徑不包含任何版本化的目錄。

--cellar [formula …]

顯示 Homebrew 的 Cellar 路徑。 默認: $(brew --prefix)/Cellar,或者如果該目錄不存在,則為 $(brew --repository)/Cellar

如果提供了 formula,則顯示安裝 formula 的 Cellar 中的位置,最後一個路徑不包含任何版本化的目錄。

--env, environment [--shell=] [--plain] [formula …]

將Homebrew的構建環境總結為一個普通列表。

如果命令的輸出通過管道發送且未指定shell,則該列表將格式化為導出到bash(1),除非傳遞了--plain。

--shell

為指定的shell生成環境變量列表,或者使用--shell=auto來檢測當前的shell。

--plain

即使通過管道,也生成純文本輸出。

--prefix [--unbrewed] [--installed] [formula …]

顯示Homebrew的安裝路徑。默認值:

如果提供了formula,則顯示formula所在或應安裝的位置。

--unbrewed

列出Homebrew前綴中未由Homebrew安裝的文件。

--installed

如果未安裝formula,則不輸出任何內容並返回失敗的狀態碼。

--repository, --repo [tap …]

顯示Homebrew的Git存儲庫位於何處。

如果提供了user/repo,則顯示tap user/repo的目錄位於何處。

--version, -v

將Homebrew、Homebrew/homebrew-core和Homebrew/homebrew-cask(如果已tap)的版本號打印到標準輸出。

開發者命令

audit [options] [formula|cask …]

檢查formula是否符合Homebrew的編碼風格規範。這應在提交新的formula或cask之前運行。如果未提供formula|cask,則檢查所有本地可用的formulae和casks並跳過風格檢查。如果發現任何錯誤,將以非零狀態退出。

--os

審核給定的作業系統。(傳遞all以審核所有作業系統。)

--arch

審核給定的 CPU 架構。(傳遞all以審核所有架構。)

--strict

運行額外、更嚴格的樣式檢查。

--git

運行額外、較慢的樣式檢查,以導航 Git 存儲庫。

--online

運行額外、較慢的樣式檢查,需要網絡連接。

--installed

僅檢查目前已安裝的配方和桶。

--eval-all

評估所有可用的配方和桶,無論是否已安裝,以審核它們。如果設置了HOMEBREW_EVAL_ALL,則隱含。

--new

運行各種額外的樣式檢查,以確定新的配方或桶是否符合 Homebrew 的標準。在創建新的配方或桶時應使用此選項,並隱含--strict--online

--[no-]signing

審核已簽名的應用程序,這在 ARM 上是必需的。

--token-conflicts

審核令牌衝突。

--tap

檢查給定的桶中的配方,指定為user/repo

--fix

使用 RuboCop 的自動修正功能自動修復樣式違規。

--display-filename

在每行輸出的開頭加上正在審核的文件或配方名稱,以便輕鬆搜索輸出。

--skip-style

跳過執行非 RuboCop 樣式檢查。如果您打算單獨運行brew style,則很有用。默認情況下啟用,除非通過名稱指定了配方。

-D, --audit-debug

啟用審核方法的調試和分析。

--only

指定逗號分隔的方法列表,僅運行名為audit_method的方法。

--except

指定逗號分隔的方法列表,跳過運行名為audit_method的方法。

--only-cops

指定以逗號分隔的 cops 列表,僅檢查列出的 RuboCop 檢查項目是否違規。

--except-cops

指定以逗號分隔的 cops 列表,跳過檢查列出的 RuboCop 檢查項目是否違規。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

bottle [options] installed_formula|file …]

從消耗 --build-bottle 安裝的公式生成瓶裝(二進制套件)。 如果公式指定了重新構建版本,將在生成的 DSL 中進行增量。 通過使用 --keep-old 會嘗試保持其原始值,而使用 --no-rebuild 將其移除。

--skip-relocation

不檢查瓶裝是否可以標記為可重定位。

--force-core-tap

即使 formula 不在 homebrew/core 或任何已安裝的 taps 中,也要建立瓶裝。

--no-rebuild

如果公式指定了重新構建版本,則從生成的 DSL 中移除它。

--keep-old

如果公式指定了重新構建版本,則嘗試在生成的 DSL 中保留其值。

--json

將瓶裝信息寫入 JSON 文件,該文件可以用作 --merge 的值。

--merge

為公式生成更新的瓶裝塊,並可選地將其合併到公式文件中。 與公式名稱不同,需要使用使用 brew bottle --json 生成的 JSON 文件的路徑 formula

--write

將更改寫入公式文件。 除非使用 --no-commit,否則將生成一個新的提交。

--no-commit

當與 --write 一起使用時,將在將更改寫入公式文件後不生成新的提交。

--only-json-tab

當與 --json 一起使用時,將該選項寫入 JSON 文件,但不寫入瓶裝。

--no-all-checks

不嘗試創建所有的瓶裝,也不停止無更改上傳。

--committer

git 的標準作者格式指定提交者的名稱和電子郵件。

--root-url

將指定的 URL 用作瓶裝的 URL 根,而不是使用 Homebrew 的默認值。

--root-url-using

使用指定的下載策略類來下載瓶裝的 URL,而不是使用 Homebrew 的默認值。

bump [options] [formula|cask …]

顯示過時的 brew 公式及最新可用版本。如果返回的當前版本和 livecheck 版本不同,或者在查詢特定公式時,還會顯示是否已開啟拉取請求以及相應的 URL。

--full-name

以完全合格的名稱列印公式/桶。

--no-pull-requests

不從 GitHub 檢索拉取請求。

--formula

僅檢查公式。

--cask

僅檢查桶。

--tap

檢查給定的 tap 內的公式和桶,指定為 user/repo

--installed

檢查目前已安裝的公式和桶。

--no-fork

不嘗試 fork 存儲庫。

--open-pr

如果尚未開啟,則打開新版本的拉取請求。

--limit

限制返回的套件結果數量。

--start-with

套件結果列表應按字母順序跟隨的字母或單詞。

bump-cask-pr [options] cask

建立一個拉取請求以更新 cask 到新版本。

如果用戶未提供值,將儘力確定 SHA-256

-n, --dry-run

打印將要執行的操作,而不是實際執行。

--write-only

執行預期的文件修改,而不採取任何 Git 操作。

--commit

當與 --write-only 一起使用時,在將更改寫入 cask 文件後生成新的提交。

--no-audit

在打開 PR 之前不運行 brew audit

--no-style

在打開 PR 之前不運行 brew style --fix

--no-browse

打印拉取請求 URL,而不是在瀏覽器中打開。

--no-fork

不嘗試 fork 存儲庫。

--version

指定 cask 的新版本。

--version-arm

為 ARM 架構指定新的 cask 版本。

--version-intel

為 Intel 架構指定新的 cask 版本。

--message

message 添加到默認的拉取請求消息。

--url

指定新下載的 URL

--sha256

指定新下載的 SHA-256 校驗和。

--fork-org

使用指定的 GitHub 組織進行分叉。

bump-formula-pr [選項] [公式]

建立一個拉取請求以更新 公式 的新 URL 或新標籤。

如果指定了一個 URL,則新下載的 SHA-256 校驗和也應該被指定。如果用戶未提供,將盡力確定 SHA-256

如果指定了一個 標籤,則應該同時指定與該標籤對應的 Git 提交 revision。如果用戶未提供值,將盡力確定 revision

如果指定了一個 版本,並且用戶未提供 URLSHA-256標籤revision 的值,將盡力確定 URLSHA-256標籤revision

注意:此命令無法將一個公式從 URL 和 SHA-256 格式規範轉換為標籤和修訂版本格式規範,反之亦然。它必須使用公式已經使用的任何格式規範。

-n, --dry-run

打印將要執行的操作,而不是實際執行。

--write-only

執行預期的文件修改,而不採取任何 Git 操作。

--commit

當與 --write-only 一起使用時,在將更改寫入公式文件後生成新的提交。

--no-audit

在打開 PR 之前不運行 brew audit

--strict

在開啟 PR 前運行 brew audit --strict

--online

在開啟 PR 前運行 brew audit --online

--no-browse

打印拉取請求 URL,而不是在瀏覽器中打開。

--no-fork

不嘗試 fork 存儲庫。

--mirror

使用指定的 URL 作為鏡像 URL。如果 URL 是一個逗號分隔的 URL 列表,將添加多個鏡像。

--fork-org

使用指定的 GitHub 組織進行分叉。

--version

使用指定的 版本 覆蓋從 URL 或標籤解析的值。請注意,--version=0 可用於從公式中刪除已經變得多餘的版本覆蓋。

--message

message 添加到默認的拉取請求消息。

--url

指定新下載的 URL。如果指定了 URL,則新下載的 SHA-256 校驗和也應該被指定。

--sha256

指定新下載的 SHA-256 校驗和。

--tag

指定公式的新的 git 提交 tag

--revision

指定與指定的 git tag 或指定的 version 對應的新的提交 revision

-f, --force

如果未指定 --mirror,則移除所有鏡像。

--install-dependencies

安裝更新資源所需的遺失依賴項。

--python-package-name

當查找 formula 的 Python 資源時使用指定的 package-name。如果未指定包名,則將從公式的穩定 URL 推斷。

--python-extra-packages

在查找資源時包括這些額外的 Python 包。

--python-exclude-packages

在查找資源時排除這些 Python 包。

bump-revision [options] formula […]

創建一個提交以增加 formula 的 revision。如果沒有 revision,將添加“revision 1”。

-n, --dry-run

打印將要執行的操作,而不是實際執行。

--remove-bottle-block

除了增加 revision 外,還移除瓶塞塊。

--write-only

執行預期的文件修改,而不採取任何 Git 操作。

--message

message 追加到默認的提交訊息中。

bump-unversioned-casks [options] cask|tap […]

檢查給定 tap 中所有具有未版本化 URL 的桶 (casks) 是否有更新。

-n, --dry-run

除了緩存狀態和開啟拉取請求外,執行所有操作。

--limit

最大運行時間(以分鐘為單位)。

--state-file

用於緩存狀態的檔案。

cat [--formula] [--cask] formula|cask […]

顯示 formulacask 的來源。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

contributions [–user=email|username] [--repositories=] [--csv]

整理對 Homebrew 存儲庫的貢獻。

--repositories

指定要搜索的存儲庫列表,以逗號分隔。支持的存儲庫包括: brew, core, cask, aliases, bundle, command-not-found, test-bot, servicescask-fonts。若省略此標誌,或指定 --repositories=primary,則僅搜索主要存儲庫: brew,core,cask。指定 --repositories=all,則搜索所有存儲庫。

--from

指定開始搜索貢獻的日期(ISO-8601 格式)。若省略此標誌,則搜索過去一年的貢獻。

--to

指定停止搜索貢獻的日期(ISO-8601 格式)。

--user

指定要查找貢獻的 GitHub 用戶名或電子郵件地址,以逗號分隔。若省略此標誌,則搜索維護者。

--csv

打印在指定時間段內各個存儲庫的貢獻 CSV。

create [選項] URL

生成可下載文件的公式或(與 --cask)cask 在 URL,並在編輯器中打開。Homebrew 將嘗試自動推斷公式名稱和版本,但如果失敗,您將不得不創建自己的模板。wget 公式提供了一個簡單的示例。有關完整的 API,請參閱: https://rubydoc.brew.sh/Formula

--autotools

為 Autotools 風格構建創建基本模板。

--cask

為 cask 創建基本模板。

--cmake

為 CMake 風格構建創建基本模板。

--crystal

為 Crystal 構建創建基本模板。

--go

為 Go 構建創建基本模板。

--meson

為 Meson 風格構建創建基本模板。

--node

為 Node 構建創建基本模板。

--perl

為 Perl 構建創建基本模板。

--python

為 Python 構建創建基本模板。

--ruby

為 Ruby 構建創建基本模板。

--rust

為 Rust 構建創建基本模板。

--no-fetch

Homebrew 將不會將 URL 下載至快取,因此也不會為您新增其 SHA-256 到方程式中,也不會檢查 GitHub API 以獲取 GitHub 專案(以填寫其描述和主頁)。

--HEAD

指示 URL 指向套件的存儲庫而不是文件。

--set-name

明確設置新方程式或 Cask 的 name

--set-version

明確設置新方程式或 Cask 的 version

--set-license

明確設置新方程式的 license

--tap

在給定的 tap 中生成新方程式,指定為 user/repo

-f, --force

忽略不允許的方程式名稱和與別名衝突的名稱的錯誤。

dispatch-build-bottle [options] formula […]

使用 GitHub Actions 為這些方程式構建瓶子。

--tap

目標 tap 存儲庫(默認為 homebrew/core)。

--timeout

構建超時(以分鐘為單位,默認為 60 分鐘)。

--issue

如果指定,則在此問題編號下失敗時發表評論。

--macos

應為其構建瓶子的 macOS 版本(或逗號分隔的版本列表)。

--workflow

調度指定的工作流(默認為 dispatch-build-bottle.yml)。

--upload

上傳構建的瓶子。

--linux

為 Linux 調度瓶子(使用 GitHub Runner)。

--linux-self-hosted

為 Linux 調度瓶子(使用自託管 Runner)。

--linux-wheezy

在 Linux 上使用 Debian Wheezy 容器來構建瓶子。

edit [options] [formula|cask|tap …]

在由 EDITORHOMEBREW_EDITOR 設定的編輯器中打開一個 formulacasktap,如果沒有提供參數,則打開 Homebrew 存儲庫進行編輯。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

--print-path

打印要編輯的文件路徑,而不打開編輯器。

extract [--version=] [--force] formula tap

查找存儲庫歷史記錄以找到最新版本的 formula,並在 tap 中創建一個副本。具體來說,該命令將在 tap/Formula/formula@version.rb 創建新的 formula 文件。如果尚未安裝/克隆 tap,則在繼續之前嘗試安裝/克隆 tap。要從不是 homebrew/core 的 tap 中提取 formula,請使用其完全合格的形式:user/repo/formula

--version

提取指定的 versionformula,而不是最新的版本。

-f, --force

如果目標 formula 已經存在,則覆蓋它。

formula formula […]

顯示 formula 的路徑。

generate-cask-api [--dry-run]

https://formulae.brew.sh 生成 homebrew/cask 的 API 資料檔案。生成的檔案將寫入目前的目錄。

-n, --dry-run

生成 API 資料但不將其寫入檔案。

generate-formula-api [--dry-run]

https://formulae.brew.sh 生成 homebrew/core 的 API 資料檔案。生成的檔案將寫入目前的目錄。

-n, --dry-run

生成 API 資料但不將其寫入檔案。

generate-man-completions

生成 Homebrew 的手冊頁和 shell 自動完成。

install-bundler-gems [--groups=] [--add-groups=]

安裝 Homebrew 的 Bundler gems。

--groups

安裝指定的以逗號分隔的 gem 群組列表(預設值為上次使用的)。取代之前安裝的群組。

--add-groups

除了已經安裝的群組外,安裝指定的以逗號分隔的 gem 群組列表。

irb [--examples] [--pry]

進入互動式的 Homebrew Ruby shell。

--examples

顯示幾個範例。

--pry

使用 Pry 而不是 IRB。如果設置了 HOMEBREW_PRY,則默認使用 Pry。

linkage [options] [installed_formula …]

檢查給定的 formula kegs 的庫連結。如果未提供 formula,則檢查所有 kegs。在未安裝的公式上運行時引發錯誤。

--test

僅顯示缺少的庫並且如果發現任何缺少的庫則以非零狀態退出。

--strict

如果發現具有連結的任何未聲明依賴項,則以非零狀態退出。

--reverse

對於 keg 引用的每個庫,打印其 dylib 路徑,然後是鏈接到它的二進位文件。

--cached

打印存儲在 HOMEBREW_CACHE 中的緩存連結值,由上一次的 brew linkage 運行設置。

livecheck, lc [options] [formula|cask …]

從上游檢查公式和/或桶的更新版本。 如果沒有傳遞公式或桶的參數,則要檢查的公式和桶的清單將從 HOMEBREW_LIVECHECK_WATCHLIST 〜/ .homebrew/livecheck_watchlist.txt 中提取。

--full-name

列印具有完全限定名稱的公式和桶。

--tap

檢查給定的 tap 內的公式和桶,指定為 user/repo

--eval-all

評估所有可用的公式和桶,無論是否安裝,以檢查它們。

--installed

檢查目前已安裝的公式和桶。

--newer-only

僅在最新版本新於公式/桶時顯示最新版本。

--json

以 JSON 格式輸出信息。

-r--resources

也檢查公式的資源。

-q, --quiet

抑制警告,不對 JSON 輸出打印進度條。

--formula

僅檢查公式。

--cask

僅檢查桶。

--extract-plist

啟用使用 ExtractPlist 策略檢查多個桶。

pr-automerge [options]

使用 brew pr-publish 查找可以自動合併的拉取請求。

--tap

目標 tap 存儲庫(默認為 homebrew/core)。

--workflow

用於 brew pr-publish 的工作流文件。

--with-label

拉取請求必須具有此標籤。

--without-labels

拉取請求不得具有這些標籤(默認:不要合併新公式自動合併跳過預發布CI-published-bottle-commits)。

--without-approval

拉取請求不需要審批即可合併。

--publish

在匹配的拉取請求上運行 brew pr-publish

--autosquash

指示 brew pr-publish 自動重新格式化和重新編寫拉取請求中的提交以符合首選格式。

--ignore-failures

包括具有失敗狀態檢查的拉取請求。

pr-publish [options] pull_request […]

使用 GitHub Actions 為拉取請求發布瓶子。 需要對存儲庫進行寫入訪問。

--autosquash

如果目標桶支持,則自動重新格式化和重新編寫提交以符合我們的首選格式。

--large-runner

在大型運行器上運行上傳作業。

--branch

從哪個分支使用工作流程(默認:master)。

--message

自動擠壓版本增加、刪除和重建時要包含的消息。

--tap

目標 tap 存儲庫(默認為 homebrew/core)。

--workflow

目標工作流程文件名(默認:publish-commit-bottles.yml)。

pr-pull [選項] pull_request […]

從具有由 GitHub Actions 生成的產物的拉取請求下載並發佈瓶子,並應用瓶子提交。需要對存儲庫具有寫訪問權限。

--no-upload

下載瓶子但不上傳它們。

--no-commit

上傳之前不生成新的提交。

--no-cherry-pick

不要從拉取請求分支挑選提交。

-n, --dry-run

打印將要執行的操作,而不是實際執行。

--clean

不要修改拉取請求中的提交。

--keep-old

如果公式指定了重新構建版本,則嘗試在生成的 DSL 中保留其值。

--autosquash

自動重新格式化和改寫拉取請求中的提交為我們偏好的格式。

--branch-okay

如果拉取到存儲庫默認分支以外的分支,不要警告(對測試很有用)。

--resolve

當修補程序應用失敗時,保持進行中並允許用戶解決,而不是中止。

--warn-on-upload-failure

如果瓶子上傳失敗,發出警告而不是引發錯誤。用於修復之前失敗的瓶子上傳。

--retain-bottle-dir

不清理瓶子的 tmp 目錄,以便以後可以使用它。

--committer

git 的標準作者格式指定提交者的名稱和電子郵件。

--message

自動擠壓版本增加、刪除和重建時要包含的消息。

--artifact-pattern

下載具有指定模式的產物(默認:bottles{,_*})。

--tap

目標 tap 存儲庫(默認為 homebrew/core)。

--root-url

將指定的 URL 用作瓶裝的 URL 根,而不是使用 Homebrew 的默認值。

--root-url-using

使用指定的下載策略類來下載瓶裝的 URL,而不是使用 Homebrew 的默認值。

--workflows

從指定的工作流程檔案檢索產物(默認:tests.yml)。可以使用逗號分隔的列表來包含多個工作流程。

--ignore-missing-artifacts

可以忽略尚未運行的工作流程的逗號分隔列表。

pr-upload [選項]

應用瓶子提交並將瓶子發布到主機。

--keep-old

如果公式指定了重新構建版本,則嘗試在生成的 DSL 中保留其值。

-n, --dry-run

打印將要執行的操作,而不是實際執行。

--no-commit

上傳之前不生成新的提交。

--warn-on-upload-failure

如果瓶子上傳失敗,發出警告而不是引發錯誤。用於修復之前失敗的瓶子上傳。

--upload-only

在上傳之前跳過運行brew bottle

--committer

git 的標準作者格式指定提交者的名稱和電子郵件。

--root-url

將指定的 URL 用作瓶裝的 URL 根,而不是使用 Homebrew 的默認值。

--root-url-using

使用指定的下載策略類來下載瓶裝的 URL,而不是使用 Homebrew 的默認值。

prof [--stackprof] 命令 […]

使用 Ruby 分析器運行 Homebrew。例如,brew prof readall

--stackprof

使用 stackprof 而不是默認的 ruby-prof

release [--major] [--minor]

使用適當的版本號和發布注意事項創建一個新的草稿 Homebrew/brew 發布。

默認情況下,brew release 將增加補丁版本號。傳遞 --major--minor 以分別增加主要或次要版本號。如果上一個主要或次要版本的發布距今不足一個月,則該命令將失敗。

注意:需要對 Homebrew/brew 存儲庫具有寫訪問權限。

--major

建立一個重要版本。

--次要

建立一個次要版本。

rubocop

安裝、配置並運行 Homebrew 的 rubocop

ruby [選項] (-e 文本|文件)

運行一個帶有 Homebrew 库的 Ruby 實例。例如,brew ruby -e "puts :gcc.f.deps"brew ruby script.rb

例如運行 brew ruby -- --version 以傳遞任意參數給 ruby

-r

使用 require 載入一個庫。

-e

執行給定的文本字符串作為腳本。

rubydoc [--only-public] [--open]

生成 Homebrew 的 RubyDoc 文檔。

--only-public

僅生成公共 API 文檔。

--open

在瀏覽器中打開生成的文檔。

sh [--env=] [--cmd=] [文件]

進入 Homebrew 的構建環境的交互式 shell。使用經過多年考驗的構建邏輯來幫助您的 ./configure && make && make install 甚至您的 gem install 成功。如果您僅在僅安裝了 Xcode 的配置中運行 Homebrew,尤其方便,因為它會將像 make 這樣的工具添加到您的 PATH 中,否則構建系統將找不到。

--env

當傳遞 std 時,使用標準 PATH 而不是超級環境。

-c, --cmd

在非交互式 shell 中執行命令。

style [選項] [文件|tap|formula|cask …]

檢查 Homebrew 樣式指南的程式或文件的符合性。

不能結合 文件tapformula 的列表。如果未提供任何,style 將對整個 Homebrew 库進行樣式檢查,包括核心代碼和所有公式。

--fix

使用 RuboCop 的自動修正功能自動修復樣式違規。

--reset-cache

重置 RuboCop 快取。

--formula

將所有命名參數視為公式。

--cask

將所有命名參數視為桶。

--only-cops

指定以逗號分隔的 cops 列表,僅檢查列出的 RuboCop 檢查項目是否違規。

--except-cops

指定以逗號分隔的 cops 列表,跳過檢查列出的 RuboCop 檢查項目是否違規。

tap-new [選項] 使用者/存儲庫

生成新 tap 的模板文件。

--no-git

不要為 tap 初始化 Git 存儲庫。

--pull-label

準備拉取的拉取請求的標籤名稱(默認值:pr-pull)。

--branch

初始化 Git 存儲庫並設置 GitHub Actions 工作流程,使用指定的分支名稱(默認值:main)。

--github-packages

將瓶裝文件上傳到 GitHub Packages。

test [選項] 已安裝的公式 […]

運行已安裝公式提供的測試方法。通常情況下,它應該通知用戶,如果安裝的公式有問題。

示例: brew install jruby && brew test jruby

-f, --force

即使它們未連接,也要測試公式。

--HEAD

測試公式的 HEAD 版本。

--keep-tmp

保留為測試創建的臨時文件。

--retry

如果測試失敗,則重試。

tests [選項]

運行 Homebrew 的單元測試和集成測試。

--coverage

生成代碼覆蓋報告。

--generic

僅運行與操作系統無關的測試。

--online

包括使用 GitHub API 和使用任何官方外部命令的任何 tap 的測試。

--debug

啟用使用 ruby/debug,或顯示標準 odebug 輸出的調試。

--changed

僅在從主分支更改的文件上運行測試。

--fail-fast

在第一次失敗的測試時提前退出。

--only

僅運行 <test_script>_spec.rb。附加 :<line_number> 將從特定行開始。

--profile

按順序運行測試套件,以找出最慢的 n 個測試。

--seed

使用指定的 value 而不是隨機種子隨機測試。

typecheck, tc [選項]

使用 Sorbet 檢查類型檢查錯誤。

--fix

自動修復類型錯誤。

-q, --quiet

消除所有非關鍵錯誤。

--update

更新 RBI 檔案。

--update-all

更新所有 RBI 檔案而不僅僅是更新的寶石。

--suggest-typed

嘗試升級 typed 符號。

--dir

類型檢查特定目錄中的所有檔案。

--file

對單個檔案進行類型檢查。

--ignore

忽略包含給定字串的輸入檔案(相對於傳遞給 Sorbet 的輸入路徑)。

unbottled [options] [formula …]

顯示配方的未瓶裝依賴項。

--tag

使用指定的瓶標籤(例如 big_sur)而不是當前的作業系統。

--dependents

跳過獲取分析數據,並根據依賴項數量進行排序。

--total

打印未瓶裝和總計配方的數量。

--lost

打印上週在 homebrew/core 中遺失瓶子的提交。

--eval-all

評估所有可用的配方和桶,無論是否已安裝,以進行檢查。如果設置了 HOMEBREW_EVAL_ALL,則隱含。

unpack [options] formula […]

formula 的源代碼文件解壓到當前工作目錄的子目錄中。

--destdir

在由 path 命名的目錄中創建子目錄。

--patch

formula 的補丁應用到解壓後的源代碼上。

-g, --git

在解壓後的源代碼中初始化 Git 存儲庫。這對於為軟件創建補丁非常有用。

-f, --force

如果目標目錄已存在,則覆蓋它。

update-license-data

在 Homebrew 存儲庫中更新 SPDX 授權數據。

update-maintainers

Homebrew/brew README 中更新維護人員列表。

update-python-resources [options] formula […]

更新 formula 中 PyPI 資源塊的版本。

-p, --print-only

不要改變 formula,而是列印更新後的資源區塊。

-s, --silent

抑制任何輸出。

--ignore-non-pypi-packages

如果 formula 不是 PyPI 套件,則不要失敗。

--install-dependencies

安裝更新資源所需的遺失依賴項。

--version

在為 formula 查找資源時使用指定的 version。如果未指定版本,將使用 formula 的當前版本。

--package-name

在為 formula 查找資源時使用指定的 package-name。如果未指定套件名稱,將從公式的穩定 URL 推斷。

--extra-packages

在查找資源時包括這些附加套件。

--exclude-packages

在查找資源時排除這些套件。

update-sponsors

更新 Homebrew/brew 自述文件中的 GitHub 贊助者清單。

update-test [options]

使用新的存儲庫克隆運行 brew update 測試。如果未傳遞任何選項,將使用 origin/master 作為起始提交。

--to-tag

HOMEBREW_UPDATE_TO_TAG 設置為測試在標籤之間更新。

--keep-tmp

保留包含新存儲庫克隆的臨時目錄。

--commit

使用指定的 commit 作為起始提交。

--before

使用指定日期的提交作為起始提交。

vendor-gems [--update=] [--no-commit]

安裝並提交 Homebrew 的 vendored gems。

--update

將指定的 vendored gems 更新到最新版本。

--no-commit

完成後不生成新的提交。

全局 CASK 選項

這些選項適用於使用 --cask 開關的 installreinstallupgrade 子命令。

--appdir

應用程式目標位置(預設:/Applications)。

--keyboard-layoutdir

鍵盤佈局目標位置(預設:/Library/Keyboard Layouts)。

--colorpickerdir

顏色選擇器目標位置(預設:~/Library/ColorPickers)。

--prefpanedir

偏好設定面板目標位置(預設:~/Library/PreferencePanes)。

--qlplugindir

快速查看插件目標位置(預設:~/Library/QuickLook)。

--mdimporterdir

Spotlight 插件目標位置(預設:~/Library/Spotlight)。

--dictionarydir

字典目標位置(預設:~/Library/Dictionaries)。

--fontdir

字型目標位置(預設:~/Library/Fonts)。

--servicedir

服務目標位置(預設:~/Library/Services)。

--input-methoddir

輸入法目標位置(預設:~/Library/Input Methods)。

--internet-plugindir

網路插件目標位置(預設:~/Library/Internet Plug-Ins)。

--audio-unit-plugindir

音頻單元插件目標位置(預設:~/Library/Audio/Plug-Ins/Components)。

--vst-plugindir

VST 插件目標位置(預設:~/Library/Audio/Plug-Ins/VST)。

--vst3-plugindir

VST3 插件目標位置(預設:~/Library/Audio/Plug-Ins/VST3)。

--screen-saverdir

螢幕保護程式目標位置(預設:~/Library/Screen Savers)。

--language

用於 cask 安裝的偏好語言代碼列表,以逗號分隔。使用第一個匹配的語言,否則恢復為 cask 的默認語言。默認值為系統語言。

全局選項

這些選項適用於多個子命令。

-d, --debug

顯示任何調試信息。

-q, --quiet

使一些輸出更安靜。

-v, --verbose

使一些輸出更詳細。

-h--help

顯示此消息。

官方外部命令

alias [alias … | alias=command]

顯示現有的別名。如果未給出別名,則打印整個列表。

--編輯

在文本編輯器中編輯別名。可以同時打開一個或所有別名。如果給定的別名不存在,它將被預先填充模板。

bundle [子命令]

Homebrew、Homebrew Cask、Mac App Store、Whalebrew 和 Visual Studio Code 的非 Ruby 依賴包管理工具。

brew bundle [install]

安裝並(默認情況下)升級Brewfile中的所有依賴項。

您可以使用--file參數或設置HOMEBREW_BUNDLE_FILE環境變量來指定Brewfile的位置。

您可以通過將一個或多個以下環境變量的值以空格分隔來跳過依賴項的安裝:HOMEBREW_BUNDLE_BREW_SKIPHOMEBREW_BUNDLE_CASK_SKIPHOMEBREW_BUNDLE_MAS_SKIPHOMEBREW_BUNDLE_WHALEBREW_SKIPHOMEBREW_BUNDLE_TAP_SKIP

brew bundle將在與Brewfile相同的目錄中輸出Brewfile.lock.json,如果所有依賴項都安裝成功。這包含了依賴項和系統狀態信息,可用於調試brew bundle的失敗以及複製“上次已知良好構建”狀態。您可以通過設置HOMEBREW_BUNDLE_NO_LOCK環境變量或傳遞--no-lock選項來選擇退出此行為。您可能希望將此文件檢入與您的Brewfile相同的版本控制系統中(或者如果您希望依賴於來自本地機器的調試信息,則確保您的版本控制系統忽略它)。

brew bundle dump

將所有已安裝的 casks/formulae/images/taps 寫入當前目錄中的Brewfile

brew bundle cleanup

卸載Brewfile中不存在的所有依賴項。

這個工作流對於定期安裝大量 formulae 的維護人員或測試人員很有用。

brew bundle check

檢查Brewfile中的所有依賴項是否已安裝。

如果一切都是最新的,這將提供一個成功的退出代碼,使其對腳本編寫很有用。

brew bundle list

列出在 Brewfile 中存在的所有依賴項。

默認情況下,只會列出 Homebrew 公式依賴項。

brew bundle exec command

在基於 Brewfile 依賴項的隔離構建環境中運行外部命令。

此經過清理的構建環境會忽略未請求的依賴項,確保您在 Brewfile 中未指定的事項不會被像 bundle installnpm install 等命令捕獲。它還會添加編譯器標誌,這將有助於找到像 opensslicu4c 等專用庫依賴項。

--file

從此位置讀取 Brewfile。使用 --file=- 進行 stdin/stdout 管道。

--global

~/.Brewfile 或設置的 HOMEBREW_BUNDLE_FILE_GLOBAL 環境變量中讀取 Brewfile

-v, --verbose

install 以運行命令的輸出形式顯示輸出。 check 列出所有缺失的依賴項。

--no-upgrade

install 不會在過時的依賴項上運行 brew upgrade。請注意,如果需要,它們仍可以通過 brew install 升級。

-f, --force

install 使用 --force/--overwrite 運行。 dump 覆蓋現有的 Brewfilecleanup 實際執行其清理操作。

--cleanup

install 執行清理操作,與運行 cleanup --force 相同。如果設置了 HOMEBREW_BUNDLE_INSTALL_CLEANUP,且傳遞了 --global,則默認啟用此操作。

--no-lock

install 不會輸出 Brewfile.lock.json

--all

list 所有依賴項。

--formula

list Homebrew 公式依賴項。

--cask

list Homebrew cask 依賴項。

--tap

list Homebrew tap 依賴項。

--mas

列出 Mac App Store 依賴。

--whalebrew

列出 Whalebrew 依賴。

--vscode

列出 VSCode 擴展。

--描述

dump 在每一行上方添加描述註釋,除非依賴項目沒有描述。如果設置了 HOMEBREW_BUNDLE_DUMP_DESCRIBE,則默認啟用此功能。

--無重啟

dump 不將 restart_service 添加到公式行。

--zap

cleanup 使用 zap 命令而不是 uninstall 來清除 Cask。

command-not-found-init

打印設置命令找不到的鉤子的說明。如果輸出不是到 tty,則為您的 shell 打印適當的處理程序腳本。

services [子命令]

使用 macOS 的 launchctl(1) 守護程序管理器或 Linux 的 systemctl(1) 服務管理器管理後台服務。

如果傳遞了 sudo,則在 /Library/LaunchDaemons//usr/lib/systemd/system(在啟動時)上操作。否則,在 ~/Library/LaunchAgents/~/.config/systemd/user(在登錄時)上操作。

[sudo] brew services [列表](--json)(--調試

列出當前用戶(或 root)的所有受管理服務的信息。如果使用 --debug 運行,則提供來自 Homebrew 和 launchctl(1) 或 systemctl(1) 的更多輸出。

[sudo] brew services info公式|--all|--json

列出當前用戶(或 root)的所有受管理服務。

[sudo] brew services run公式|--all

運行服務 公式 而不註冊為登錄(或啟動)時啟動。

[sudo] brew services start (formula|--all|--file=)

立即啟動服務 formula 並註冊以在登錄時(或開機時)啟動。

[sudo] brew services stop (formula|--all)

立即停止服務 formula 並取消其在登錄時(或開機時)的啟動註冊。

[sudo] brew services kill (formula|--all)

立即停止服務 formula,但保留其在登錄時(或開機時)的啟動註冊。

[sudo] brew services restart (formula|--all)

停止(如果需要)並立即啟動服務 formula,並註冊以在登錄時(或開機時)啟動。

[sudo] brew services cleanup

移除所有未使用的服務。

--file

使用此位置的服務文件來 start 服務。

--sudo-service-user

在 macOS 上以 root 身份運行時,將服務運行為此用戶。

--all

對所有服務執行 subcommand

--json

以 JSON 格式輸出。

--no-wait

不等待 stop 完成停止服務。

test-bot [options] [formula]

測試 Homebrew 對 tap(Git 存儲庫)的完整生命周期更改。例如,對於更改 formula 的 GitHub Actions 拉取請求,brew test-bot 將確保系統已清理並設置為測試 formula,安裝 formula,對其運行各種測試和檢查,打包(封裝)二進制文件並測試依賴它的 formula 以確保這些更改不會破壞它們。

僅支持 GitHub Actions 作為 CI 提供者。這是因為 Homebrew 使用 GitHub Actions,並且可以免費在 macOS 和 Linux 工作器上公開和私有使用。

--dry-run

打印將要執行的操作,而不是實際執行。

--cleanup

清除 Homebrew 目錄中的所有狀態。請謹慎使用!

--skip-setup

不檢查本地系統是否設置正確。

--build-from-source

從源代碼構建而不是構建瓶子。

--build-dependents-from-source

從源代碼構建相依項目而不是測試瓶子。

--junit

生成 JUnit XML 測試結果文件。

--keep-old

運行 brew bottle --keep-old 以為單個平台構建新的瓶子。

--skip-relocation

運行 brew bottle --skip-relocation 以構建不需要重新定位的新瓶子。

--only-json-tab

運行 brew bottle --only-json-tab 以構建不包含標籤的新瓶子。

--local

要求 Homebrew 在 ./logs/ 下寫詳細日誌,並將 $HOME 設置為 ./home/

--tap

使用給定 tap 的 Git 存儲庫。默認為用於語法檢查的核心 tap。

--fail-fast

在失敗的步驟上立即退出。

-v, --verbose

實時打印測試步驟輸出。具有將輸出作為原始字節而不是重新編碼為 UTF-8 的副作用。

--test-default-formula

在不構建 tap 且未指定其他公式時使用默認測試公式。

--root-url

將指定的 URL 用作瓶裝的 URL 根,而不是使用 Homebrew 的默認值。

--git-name

將 Git 作者/提交者名稱設置為給定的名稱。

--git-email

將 Git 作者/提交者電子郵件設置為給定的電子郵件。

--publish

發布上傳的瓶子。

--skip-online-checks

不要將 --online 傳遞給 brew audit,並跳過 brew livecheck

--skip-new

不要將 --new 傳遞給新公式的 brew audit

--skip-new-strict

不要將 --strict 傳遞給新公式的 brew audit

--skip-dependents

不測試任何相依項目。

--skip-livecheck

不測試 livecheck。

--skip-recursive-dependents

只測試直接相依項目。

--skip-checksum-only-audit

不審核僅檢查碼的更改。

--skip-stable-version-audit

不審核穩定版本。

--skip-revision-audit

不審核修訂版。

--only-cleanup-before

僅運行預清理步驟。需要 --cleanup

--only-setup

僅運行本地系統設置檢查步驟。

--only-tap-syntax

僅執行 tap 語法檢查步驟。

--stable

僅在穩定的 brew 上執行 tap 語法檢查。

--only-formulae

僅執行配方步驟。

--only-formulae-detect

僅執行配方偵測步驟。

--only-formulae-dependents

僅執行配方相依步驟。

--only-bottles-fetch

僅執行瓶子取得步驟。此選擇性的上傳後測試檢查所有瓶子是否正確上傳。除非有要求,否則不會執行,且只需要在單一機器上執行。要測試的瓶子提交必須位於被測試的分支上。

--only-cleanup-after

僅執行後清理步驟。需要 --cleanup

--testing-formulae

使用這些測試配方,而不是執行配方偵測步驟。

--added-formulae

使用這些新增配方,而不是執行配方偵測步驟。

--deleted-formulae

使用這些刪除的配方,而不是執行配方偵測步驟。

--skipped-or-failed-formulae

使用這些在配方步驟中被跳過或失敗的配方作為配方相依步驟。

unalias alias […]

移除別名。

which-formula [--explain] command […]

顯示提供給定命令的配方。

--explain

輸出安裝其中一個提供的配方來獲取命令的說明。

which-update [options] [database]

brew which-formula 更新資料庫。

--stats

列印有關資料庫內容的統計資訊(命令和配方數量,缺少的配方清單)。

--commit

使用 git 提交更改。

--update-existing

使用過時的配方版本更新資料庫項目。

--install-missing

安裝並更新資料庫中缺少且沒有瓶子的配方。

--eval-all

評估所有已安裝的 tap,而不僅限於核心 tap。

--max-downloads

指定要下載和更新的最大公式數量。

自訂外部命令

Homebrew,就像git(1)一樣,支援外部命令。這些是可執行的腳本,位於PATH中的某個位置,命名為brew-cmdnamebrew-cmdname.rb,可以像brewcmdname一樣調用。這允許您創建自己的命令而不修改Homebrew的內部結構。

有關創建自己命令的說明可以在文件中找到:https://homebrew.dev.org.tw/External-Commands

指定公式

許多Homebrew命令接受一個或多個formula參數。這些參數可以採取幾種不同的形式

指定桶

許多Homebrew桶命令接受一個或多個cask參數。這些可以像上面指定公式中描述的formula參數一樣指定。

環境

請注意,環境變數必須設置值才能被檢測到。例如,運行export HOMEBREW_NO_INSECURE_REDIRECT=1而不僅僅是export HOMEBREW_NO_INSECURE_REDIRECT

HOMEBREW_*環境變數也可以在Homebrew的環境文件中設置

使用者特定的環境檔案優先於前置特定檔案,而前置特定檔案優先於系統全域檔案(除非設定了 HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY,請參閱下文)。

請注意,這些檔案不支援Shell變數擴展,例如 $HOME 或命令執行,例如 $(cat file)

HOMEBREW_API_AUTO_UPDATE_SECS

HOMEBREW_API_AUTO_UPDATE_SECS 秒檢查Homebrew的API以獲取新的配方或桶資料。或者,完全禁用API自動更新檢查,使用 HOMEBREW_NO_AUTO_UPDATE

預設值: 450

HOMEBREW_API_DOMAIN

使用此URL作為Homebrew JSON API的下載鏡像。如果該URL的元數據文件暫時不可用,則將使用預設的API域作為備用鏡像。

預設值: https://formulae.brew.sh/api

HOMEBREW_ARCH

僅適用於Linux:將此值傳遞給表示編譯器 -march 選項的類型名稱。

預設值: native

HOMEBREW_ARTIFACT_DOMAIN

使用此值為所有下載URL(包括瓶子)添加前綴。例如,HOMEBREW_ARTIFACT_DOMAIN=https://127.0.0.1:8080 將導致URL為 https://example.com/foo.tar.gz 的配方從 https://example.com/foo.tar.gz 下載改為從 https://127.0.0.1:8080/https://example.com/foo.tar.gz 下載。然而,瓶子URL會將其域替換為此前綴。因此,例如 https://ghcr.io/v2/homebrew/core/gettext/manifests/0.21 將從 https://127.0.0.1:8080/v2/homebrew/core/gettext/manifests/0.21 下載。

HOMEBREW_AUTOREMOVE

如果設定了,調用 brew cleanupbrew uninstall 將自動刪除未使用的配方依賴項,並且如果未設置 HOMEBREW_NO_INSTALL_CLEANUP,則 brew cleanup 將開始定期運行 brew autoremove

HOMEBREW_AUTO_UPDATE_SECS

在一些命令(例如 brew installbrew upgradebrew tap)之前,每 HOMEBREW_AUTO_UPDATE_SECS 秒運行一次 brew update。或者,完全禁用自動更新,使用 HOMEBREW_NO_AUTO_UPDATE

預設值: 86400(24 小時),3600(1 小時)若已執行開發者命令,或 300(5 分鐘)若已設定 HOMEBREW_NO_INSTALL_FROM_API

HOMEBREW_BAT

若設定,使用 bat 作為 brew cat 命令。

HOMEBREW_BAT_CONFIG_PATH

將此用作 bat 配置檔案。

預設值: $BAT_CONFIG_PATH

HOMEBREW_BAT_THEME

將此用作語法高亮顯示的 bat 主題。

預設值: $BAT_THEME

HOMEBREW_BOOTSNAP

若設定,使用 Bootsnap 加速重複的 brew 呼叫。在 macOS 上使用 Homebrew 的內建、可重定位 Ruby 時無效(因為它不起作用)。

HOMEBREW_BOTTLE_DOMAIN

將此 URL 用作瓶子的下載鏡像。若該 URL 上的瓶子暫時不可用,將使用預設的瓶子域作為備用鏡像。例如,HOMEBREW_BOTTLE_DOMAIN=https://127.0.0.1:8080 將導致所有瓶子從前綴 https://127.0.0.1:8080/ 下載。若在 HOMEBREW_BOTTLE_DOMAIN 上找不到瓶子,將從預設的瓶子域下載。

預設值: https://ghcr.io/v2/homebrew/core

HOMEBREW_BREW_GIT_REMOTE

將此 URL 用作 Homebrew/brew 的 git(1)遠端。

預設值: https://github.com/Homebrew/brew

HOMEBREW_BROWSER

將此用作開啟專案主頁時的瀏覽器。

預設值: $BROWSER 或作業系統的預設瀏覽器。

HOMEBREW_CACHE

將此目錄用作下載快取。

預設值: macOS: $HOME/Library/Caches/Homebrew,Linux: $XDG_CACHE_HOME/Homebrew$HOME/.cache/Homebrew

HOMEBREW_CASK_OPTS

將這些選項附加到所有 cask 命令。支援所有 --*dir 選項、--language--require-sha--no-quarantine--no-binaries。例如,您可以將類似以下內容添加到您的 ~/.profile~/.bash_profile~/.zshenv

export HOMEBREW_CASK_OPTS="--appdir=~/Applications --fontdir=/Library/Fonts"

HOMEBREW_CLEANUP_MAX_AGE_DAYS

清理所有緩存文件,其修改日期早於指定的天數。

預設值: 120 天。

HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS

若設定,brew installbrew upgradebrew reinstall 將在過了指定天數後清理所有配方。

預設值: 30 天。

HOMEBREW_COLOR

若設定,對非 TTY 輸出強制使用彩色輸出。

HOMEBREW_CORE_GIT_REMOTE

將此 URL 作為 Homebrew/homebrew-core 的 git 遠端。

預設值: https://github.com/Homebrew/homebrew-core

HOMEBREW_CURLRC

若設定為絕對路徑(即以 / 開頭),在呼叫 curl(1) 時傳遞它作為 --config。若設定但不是有效路徑,則不要傳遞 --disable,以禁用 .curlrc 的使用。

HOMEBREW_CURL_PATH

僅適用於 Linux:將此值設置為新版本的 curl 可執行文件,供 Homebrew 使用。

預設值: curl

HOMEBREW_CURL_RETRIES

在呼叫 curl(1) 時,傳遞給 --retry 的重試次數。

預設值: 3

HOMEBREW_CURL_VERBOSE

若設定,當呼叫 curl(1) 時,傳遞 --verbose

HOMEBREW_DEBUG

若設定,總是假定在運行命令時使用 --debug

HOMEBREW_DEVELOPER

若設定,調整行為以使其對 Homebrew 開發人員(活躍或新手)更為相關,例如將警告轉換為錯誤。

HOMEBREW_DISABLE_LOAD_FORMULA

若設定,拒絕加載配方。當配方不可信時(例如在拉取請求中)很有用。

HOMEBREW_DISPLAY

在打開瀏覽器中的頁面時使用此 X11 顯示,例如使用 brew home。主要在 Linux 上有用。

預設值: $DISPLAY

安裝時間顯示

如果設置,將在運行結束時打印每個配方的安裝時間。

DOCKER倉庫基本驗證令牌

使用此base64編碼的用戶名和密碼來驗證與代理GitHub Packages的Docker倉庫的身份。如果設置了 HOMEBREW_DOCKER_REGISTRY_TOKEN,則將使用該令牌。

DOCKER倉庫令牌

使用此bearer令牌來與代理GitHub Packages的Docker倉庫進行驗證。優先於 DOCKER_REGISTRY_BASIC_AUTH_TOKEN

編輯器

在編輯單個配方或同一目錄中的多個配方時使用此編輯器。

注意: brew edit 將打開所有Homebrew文件和目錄作為不連續的文件。Visual Studio Code可以在項目模式下正確處理此操作,但許多編輯器在此情況下可能會出現奇怪的行為。

默認: $EDITOR$VISUAL

評估所有

如果設置,brew 命令將評估所有配方和cask,執行它們的任意代碼,默認情況下無需 --eval-all。需要對配方和cask描述進行緩存。

失敗日誌行數

在配方 system 失敗時輸出這麼多行輸出。

默認: 15

禁止的Cask

一個以空格分隔的Cask列表。如果Cask或其任何依賴項在此列表中,Homebrew將拒絕安裝該Cask。

禁止的配方

一個以空格分隔的配方列表。如果配方或其任何依賴項在此列表中,Homebrew將拒絕安裝該配方或Cask。

禁止的許可證

一個以空格分隔的許可證列表。如果配方或其任何依賴項具有此列表中的許可證,Homebrew將拒絕安裝該配方。

禁止的擁有者

設置了任何 HOMEBREW_FORBIDDEN_* 變量的人。

默認: you

禁止的擁有者聯繫方式

如有需要,如何聯繫 HOMEBREW_FORBIDDEN_OWNER

禁止的Tap

一個以空格分隔的Tap列表。如果配方或其任何依賴項在此列表中的Tap中,Homebrew將拒絕安裝該配方。

HOMEBREW_FORCE_BREWED_CA_CERTIFICATES

如果設置,始終使用由Homebrew安裝的 ca-certificates 而不是系統版本。如果系統版本太舊,則自動設置。

HOMEBREW_FORCE_BREWED_CURL

如果設置,始終使用由Homebrew安裝的 curl(1) 而不是系統版本。如果系統版本的 curl 太舊,則自動設置。

HOMEBREW_FORCE_BREWED_GIT

如果設置,始終使用由Homebrew安裝的 git(1) 而不是系統版本。如果系統版本的 git 太舊,則自動設置。

HOMEBREW_FORCE_VENDOR_RUBY

如果設置,即使系統版本的Ruby足夠新,始終使用Homebrew提供的、可重定位的Ruby版本。

HOMEBREW_FORMULA_BUILD_NETWORK

如果設置,控制對於公式構建的沙盒的網絡訪問。覆蓋任何在公式內使用DSL設置的控制。必須是 allowdeny。如果沒有通過此環境變量或DSL使用設置值,則默認行為是 allow

HOMEBREW_FORMULA_POSTINSTALL_NETWORK

如果設置,控制對於公式安裝後的沙盒的網絡訪問。覆蓋任何在公式內使用DSL設置的控制。必須是 allowdeny。如果沒有通過此環境變量或DSL使用設置值,則默認行為是 allow

HOMEBREW_FORMULA_TEST_NETWORK

如果設置,控制對於公式測試的沙盒的網絡訪問。覆蓋任何在公式內使用DSL設置的控制。必須是 allowdeny。如果沒有通過此環境變量或DSL使用設置值,則默認行為是 allow

HOMEBREW_GITHUB_API_TOKEN

使用此個人訪問令牌進行GitHub API的操作,例如 brew search。您可以在 https://github.com/settings/tokens 上創建一個。如果設置,GitHub將允許您進行更多的API請求。有關更多信息,請參閱:https://docs.github.com/en/rest/overview/rate-limits-for-the-rest-api

注意: Homebrew不需要任何權限範圍,但某些開發人員命令可能需要額外的權限。

HOMEBREW_GITHUB_PACKAGES_TOKEN

在訪問GitHub Packages Registry(存放瓶子的地方)時,使用此GitHub個人訪問令牌。

HOMEBREW_GITHUB_PACKAGES_USER

使用此用户名访问GitHub Packages Registry(可能存储瓶子的地方)。

HOMEBREW_GIT_EMAIL

将 Git 作者和提交者电子邮件设置为此值。

HOMEBREW_GIT_NAME

将 Git 作者和提交者名称设置为此值。

HOMEBREW_GIT_PATH

仅适用于 Linux:将此值设置为足够新的 git 可执行文件,以供 Homebrew 使用。

默认值:git

HOMEBREW_INSTALL_BADGE

在每个成功构建的安装摘要之前打印此文本。

默认值:“啤酒杯”表情符号。

HOMEBREW_LIVECHECK_WATCHLIST

当未传递公式参数给 brew livecheck 时,默认情况下要检查的公式列表。

默认值:$XDG_CONFIG_HOME/homebrew/livecheck_watchlist.txt(如果设置了$XDG_CONFIG_HOME)或$HOME/.homebrew/livecheck_watchlist.txt(否则)。

HOMEBREW_LOGS

使用此目录存储日志文件。

默认值:macOS:$HOME/Library/Logs/Homebrew,Linux:$XDG_CACHE_HOME/Homebrew/Logs$HOME/.cache/Homebrew/Logs

HOMEBREW_MAKE_JOBS

在使用make(1)构建时,使用此值作为并行作业数。

默认值:可用 CPU 核心数。

HOMEBREW_NO_ANALYTICS

如果设置,则不发送分析数据。谷歌分析已被销毁。有关更多信息,请参阅:https://homebrew.dev.org.tw/Analytics

HOMEBREW_NO_AUTO_UPDATE

如果设置,则不会在运行某些命令之前自动更新,例如brew installbrew upgradebrew tap。最好通过将HOMEBREW_AUTO_UPDATE_SECS设置为高于默认值的值来较少地运行此命令。请注意,设置此值以及例如添加新的 taps 可能导致配置损坏。请确保在报告任何问题之前始终运行brew update

HOMEBREW_NO_BOOTSNAP

如果设置,则不使用 Bootsnap 加速重复的brew调用。

HOMEBREW_NO_CLEANUP_FORMULAE

逗號分隔的公式清單。 如果此清單中包含某個公式,Homebrew 將拒絕清理或自動移除該公式。

HOMEBREW_NO_COLOR

如果設置了此選項,則不要打印添加了顏色的文本。

默認值: $NO_COLOR

HOMEBREW_NO_EMOJI

如果設置了此選項,在成功構建時不要打印HOMEBREW_INSTALL_BADGE

HOMEBREW_NO_ENV_HINTS

如果設置了此選項,則不要打印任何有關使用環境變量更改 Homebrew 行為的提示。

HOMEBREW_NO_GITHUB_API

如果設置了此選項,則不要使用 GitHub API,例如用於搜索或在安裝失敗後擷取相關問題。

HOMEBREW_NO_INSECURE_REDIRECT

如果設置了此選項,則禁止從安全的 HTTPS 重新導向到不安全的 HTTP。

注意: 確保您的下載完全安全,這可能會導致來源自 SourceForge、一些 GNU 和 GNOME 托管的公式無法下載。

HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK

如果設置了此選項,在安裝、升級或重新安裝公式後,不要檢查依賴項的損壞連結或過時依賴項。這將導致較少的依賴項(及其依賴項)被升級或重新安裝,但可能會導致從運行brew install formulabrew upgrade formula 中出現更多的損壞。

HOMEBREW_NO_INSTALL_CLEANUP

如果設置了此選項,brew installbrew upgradebrew reinstall 將永遠不會自動清理已安裝/升級/重新安裝的公式,也不會在每HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS 天清理所有公式。 或者,HOMEBREW_NO_CLEANUP_FORMULAE 允許指定不清理的特定公式。

HOMEBREW_NO_INSTALL_FROM_API

如果設置了此選項,則不要使用 Homebrew 的 API 在 homebrew/core 和 homebrew/cask taps 中安裝公式和 Casks,而是使用這些存儲庫的(大型、緩慢的)本地檢查。

HOMEBREW_NO_INSTALL_UPGRADE

如果設置了此選項,brew install formula|cask 將不會升級已安裝但過時的formula|cask

HOMEBREW_NO_UPDATE_REPORT_NEW

如果設置了此選項,brew update 將不會顯示新添加的公式/casks 列表。

HOMEBREW_PIP_INDEX_URL

若設定,brew install formula 將使用此網址下載 PyPI 套件資源。

預設值: https://pypi.org/simple

HOMEBREW_PRY

若設定,將使用 Pry 來執行 brew irb 命令。

HOMEBREW_SIMULATE_MACOS_ON_LINUX

若設定,執行 Homebrew 在 Linux 上將模擬某些 macOS 代碼路徑。當在 Linux 上審核 macOS 公式時,這很有用。

HOMEBREW_SKIP_OR_LATER_BOTTLES

若與 HOMEBREW_DEVELOPER 一同設定,不使用舊版 macOS 的瓶裝二進制文件。這在開發新版 macOS 時很有用。

HOMEBREW_SORBET_RUNTIME

若設定,啟用使用 Sorbet 的運行時類型檢查。對於 HOMEBREW_DEVELOPER 或執行某些開發人員命令時,默認設置。

HOMEBREW_SSH_CONFIG_PATH

若設定,Homebrew 將使用給定的配置文件而不是 ~/.ssh/config 在 SSH 上提取 Git 存儲庫時。

預設值: $HOME/.ssh/config

HOMEBREW_SUDO_THROUGH_SUDO_USER

若設定,Homebrew 將使用 SUDO_USER 環境變量來定義當運行 sudo(8) 時要經由的用戶。

HOMEBREW_SVN

使用此作為 svn(1) 二進制文件。

預設值: Homebrew 建置的 Subversion(如果已安裝),或系統提供的二進制文件。

HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY

若在 Homebrew 的系統全域環境文件(/etc/homebrew/brew.env)中設定,則系統全域環境文件將最後加載,以覆蓋任何前綴或用戶設置。

HOMEBREW_TEMP

使用此路徑作為建構套件的臨時目錄。如果您的系統臨時目錄和 Homebrew 前綴位於不同的卷上,當目標尚不存在時,macOS 在卷間移動符號鏈結時可能會出現問題。這個問題通常發生在使用 FileVault 或自定義 SSD 配置時。

預設值: macOS:/private/tmp,Linux:/tmp

更新Homebrew到指定標籤

如果設置,即使已經執行開發者命令,也始終使用最新的穩定標籤。

Homebrew升級貪婪模式

如果設置,將--greedy參數傳遞給所有cask升級命令。

Homebrew冗長模式

如果設置,運行命令時始終假定使用--verbose參數。

使用點狀冗長模式

如果設置,冗長輸出將每分鐘最多打印一個.。這可以避免因無輸出而導致長時間運行的Homebrew命令被終止。

驗證憑證

如果設置,Homebrew將使用gh工具來驗證來自homebrew-core的瓶子的構建來源的加密憑證。

SUDO_ASKPASS

如果設置,調用sudo(8)時將傳遞-A選項。

all_proxy

在通過Homebrew下載時,使用此SOCKS5代理進行curl(1)、git(1)和svn(1)。

ftp_proxy

在通過Homebrew下載時,使用此FTP代理進行curl(1)、git(1)和svn(1)。

http_proxy

在通過Homebrew下載時,使用此HTTP代理進行curl(1)、git(1)和svn(1)。

https_proxy

在通過Homebrew下載時,使用此HTTPS代理進行curl(1)、git(1)和svn(1)。

no_proxy

通過curl(1)、git(1)和svn(1)下載時,一個由逗號分隔的主機名和域名列表,不受代理的影響。

在代理後使用Homebrew

設置上述文檔中記錄的http_proxyhttps_proxyall_proxyftp_proxy和/或no_proxy環境變量。

例如,使用未驗證的HTTP或SOCKS5代理

export http_proxy=http://$HOST:$PORT

export all_proxy=socks5://$HOST:$PORT

以及驗證的HTTP代理

export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT

參見

Homebrew文檔:https://homebrew.dev.org.tw

Homebrew API:https://rubydoc.brew.sh

git(1), git-log(1)

AUTHORS

Homebrew 的專案負責人是 Mike McQuaid。

Homebrew 的專案領導委員會成員包括 Colin Dean、Issy Long、Mike McQuaid、Patrick Linnane 和 Vanessa Gennarelli。

Homebrew 的技術指導委員會成員包括 Bo Anderson、FX Coudert、Michka Popoff、Mike McQuaid 和 Rylan Polster。

Homebrew 的維護者包括 Alexander Bayandin、Bevan Kay、Bo Anderson、Branch Vincent、Caleb Xu、Carlo Cabrera、David Baumgold、Douglas Eichelberger、Dustin Rodrigues、Eric Knibbe、FX Coudert、Issy Long、Justin Krehel、Markus Reiter、Miccal Matthews、Michael Cho、Michka Popoff、Mike McQuaid、Nanda H Krishna、Patrick Linnane、Razvan Azamfirei、Rui Chen、Ruoyu Zhong、Rylan Polster、Sam Ford、Sean Molenaar、Thierry Moisan、Timothy Sutton 和 William Woodruff。

曾經作出重大貢獻的前維護者包括 Misty De Méo、Shaun Jackman、Vítor Galvão、Claudia Pellegrino、Seeker、Jan Viljanen、JCount、commitay、Dominyk Tiller、Tim Smith、Baptiste Fontaine、Xu Cheng、Martin Afanasjew、Brett Koonce、Charlie Sharpsteen、Jack Nagel、Adam Vandenberg、Andrew Janke、Alex Dunn、neutric、Tomasz Pajor、Uladzislau Shablinski、Alyssa Ross、ilovezfs、Chongyu Zhu 和 Homebrew 的創造者 Max Howell。

BUGS

請參考我們在 GitHub 上的問題

Homebrew/brew

https://github.com/Homebrew/brew/issues

Homebrew/homebrew-core

https://github.com/Homebrew/homebrew-core/issues

Homebrew/homebrew-cask

https://github.com/Homebrew/homebrew-cask/issues

Fork me on GitHub