針對非 Homebrew 依賴項建置

歷史

最初,Homebrew 是從原始碼建置的套件管理員,所有使用者環境變數和非 Homebrew 安裝的軟體都可用於建置。從那時起,Homebrew 加入 Requirement,以指定對非 Homebrew 軟體的依賴項(例如 brew cask 提供的軟體,如 X11/XQuartz),superenv 建置系統用於移除未指定的依賴項,環境過濾用於阻止使用者環境外洩到 Homebrew 建置中,以及 default_formula 用於指定 Requirement 可以由特定公式滿足。

由於 Homebrew 主要變成二進制套件管理員,大多數使用者都使用 default_formula 來滿足 Requirement,而不是使用任意替代方案。為了提升品質並減少變異,Homebrew 現在僅支援使用預設公式,作為一般依賴項,不再支援使用任意替代方案。

現在

如果你想要針對 Homebrew 提供的客製化非 Homebrew 依賴項建置(例如非 Homebrew、非 macOS ruby),則你必須 建立並維護自己的 tap,因為這些公式不會被 Homebrew/homebrew-core 接受。完成後,你可以在公式中指定 env :std,這將允許例如 which ruby 存取你現有的 PATH 變數,並允許編譯連結到這個 Ruby。你也可以在公式中 包含自訂 Requirement,更精確地描述你建置的非 Homebrew 軟體。

Fork me on GitHub