本文主要介紹了適用於Mac OS系統的一款軟件包管理工具Homebrew,並詳細說明了新建Formula的步驟。
上篇文章回顧: Nginx動態發現方案與實踐
Homebrew[1]是一款 Mac OS 平臺下的軟件包管理工具,擁有安裝、卸載、更新、查看、搜索等不少實用的功能。簡單的一條指令,就能夠實現包管理,而不用你關心各類依賴和文件路徑的狀況,十分方便快捷。Homebrew 能夠說已經成爲使用 Mac 電腦程序員的標配。作爲開源軟件的貢獻者,本文將向你們介紹一下如何可以讓本身的開源項目經過 Homebrew 進行軟件包管理。git
brew install foo複製代碼
Homebrew 支持多種形式的軟件包管理,常見的有 Formula 和 Cask 兩種。Formula 通常用來源碼編譯安裝開源的命令行工具,Cask 通常用來安裝支持UI的應用程序。官方 Formula 對應的 Github 項目爲 homebrew-core[2], Cask 對應的 Github 項目爲homebrew-cask[3]。建議先 Fork 相應的 Git 項目到本身的帳號下再添加新的工具。文章篇幅所限,本文只會介紹 Formula 的建立使用方法,Cask 的建立方法相似。 程序員
cd `brew --repo`/Library/Taps/homebrew/homebrew-core
git remote add ${your_github_id} https://github.com/${your_github_id}/homebrew-core.git
git fetch ${your_github_id}
git checkout -b ${your_github_id} ${your_github_id}/master複製代碼
# 執行該命令後將自動在 Formula 目錄下建立一個名爲foo.rb的文件,文本編輯器也會自動打開該文件。
brew create foo複製代碼
# 安裝
brew install foo
# 下載源碼安裝而不是下載編譯好的 bottle 版本,下面連接是對 bottle 的介紹
# https://docs.brew.sh/Bottle
brew reinstall --build-from-source foo
# 檢查 Formula 腳本格式,超好用的 linter 工具
brew audit --strict foo複製代碼
Homebrew 的社區至關活躍,通常 PR 提交24小時內就能獲得項目維護人的回覆。爲了讓自已寫的工具儘快被收錄,建議提交 PR 前認真閱讀 Issue Template,並按照建議修改。下面是官方提供的 PR 建議。github
- [ ] Have you followed the [guidelines for contributing](https://github.com/Homebrew/homebrew-core/blob/master/CONTRIBUTING.md)?
- [ ] Have you checked that there aren't other open [pull requests](https://github.com/Homebrew/homebrew-core/pulls) for the same formula update/change? - [ ] Have you built your formula locally with `brew install --build-from-source <formula>`, where `<formula>` is the name of the formula you're submitting?
- [ ] Does your build pass `brew audit --strict <formula>` (after doing `brew install <formula>`)?複製代碼
參考連接bash
[1] https://brew.sh/運維
[2] https://github.com/Homebrew/homebrew-core編輯器
[3] https://github.com/Homebrew/homebrew-caskide
[4] https://docs.brew.sh/Formula-Cookbook#homebrew-terminology工具
[5] https://docs.brew.sh/Formula-Cookbook測試
[6] https://github.com/Homebrewfetch
本文首發於公衆號「小米運維」,點擊查看原文