brew creator 開發新的茶包管理器

Max Howell,這位廣受歡迎的平台的作者 macOS brew(Homebrew)軟體包管理系統正在開發一款名為 Tea 的全新軟體包管理器,它定位為 brew 的延續,超越了 brew 的功能,提供了一個可與去中心化倉庫協同工作的統一軟體包管理基礎架構。該專案從一開始就被設計為一個多平台專案(目前支援多個平台)。 macOS и Linux支援正在開發中 Windows此專案程式碼使用 TypeScript 編寫,並根據 Apache 2.0 許可證分發(brew 使用 Ruby 編寫,並根據 BSD 許可證分發)。

Tea 在概念上與傳統的套件管理器不同,它不使用「我想安裝套件」範例,而是使用「我想使用套件」範例。 特別是,Tea 本身沒有安裝套件的命令,而是使用環境生成來執行與當前系統不重疊的套件內容。 包放置在單獨的 ~/.tea 目錄中,並且不綁定到絕對路徑(它們可以移動)。

提供了兩種主要的操作模式:進入可存取已安裝軟體包的環境的命令 shell,以及直接呼叫與軟體包相關的命令。 例如,執行「tea +gnu.org/wget」時,套件管理器將下載 wget 公用程式和所有必要的依賴項,然後在已安裝的 wget 公用程式可用的環境中提供 shell 存取。 第二個選項涉及直接啟動 - “tea +gnu.org/wget wget https://some_webpage”,其中 wget 實用程式將安裝並立即在單獨的環境中啟動。 可以組成複雜的鏈,例如,要下載white-paper.pdf檔案並使用glow實用程式對其進行處理,您可以使用以下構造(如果缺少wget和glow,則會安裝它們):tea + gnu.org/ wget wget -qO- https://tea.xyz/white-paper.pdf | tea +charm.sh/glow 發光 - 或者您可以使用更簡單的語法:tea -X wget -qO- tea.xyz/white-paper | tea +charm.sh/glow 茶-X發光—

以類似的方式,您可以直接運行腳本、程式碼範例和單行程式碼,自動載入其運行所需的工具。 例如,執行「tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow」將安裝Go工具包並使用參數「-yellow」執行colors.go腳本。

為了避免每次都呼叫 tea 命令,可以將其連接為虛擬環境的通用管理器和遺失程式的處理程序。 在這種情況下,如果正在執行的程式不可用,則會安裝該程序,如果先前已安裝該程序,則會在其環境中啟動該程序。 $ deno zsh: 找不到指令: deno $ cd my-project $ deno tea: 安裝 deno.land^1.22 deno 1.27.0 > ^D

在目前的形式中,Tea 可用的套件收集在兩個集合中 - pantry.core 和 pantry.extra,其中包括描述套件下載來源、建置腳本和依賴項的元資料。 pantry.core 集合包括主要的函式庫和實用程序,由 Tea 開發人員進行維護和測試。 Pantry.extra 包含不夠穩定或社群成員建議的軟體包。 提供了一個 Web 介面來瀏覽套件。

為 Tea 建立包的過程大大簡化,只需建立一個通用的 package.yml 檔案(範例),無需為每個新版本調整套件。 套件可以連結到 GitHub 以發現新版本並下載其程式碼。 該文件還描述了依賴關係並提供了受支援平台的建置腳本。 安裝的依賴是不可變的(版本是固定的),這就消除了類似left-pad事件的情況的重複。

未來,計劃創建不依賴任何單獨儲存的去中心化儲存庫,並使用分散式區塊鏈來儲存元數據,並使用去中心化基礎設施來儲存套件。 版本將由維護者直接認證並由利害關係人審查。 可以分發加密貨幣代幣來為軟體包的維護、支援、分發和驗證做出貢獻。

brew creator 開發新的茶包管理器


來源: opennet.ru
為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster