Facebook 已開放 DotSlash 專案的程式碼

Facebook 宣布開源dotslash,這是一個命令列實用程序,旨在更輕鬆地為不同平台分發一組可執行檔。該實用程式旨在運行腳本,自動下載適合當前平台的可執行文件,檢查其完整性和執行情況。該實用程式程式碼是用 Rust 編寫的,並根據 MIT 和 Apache 2.0 許可證分發。

該實用程式解決了類似於 shell 腳本的問題,用於啟動當前平台的可執行文件,但同時消除了在套件中包含所有支援平台的可執行文件的需要。 DotSlash 還允許您將收集到的可執行檔的資訊與程式碼一起儲存在儲存庫中,同時將檔案本身放置在單獨的啟動伺服器上,這可以避免儲存庫大小的成長並減少執行時輸入/輸出系統的負載克隆操作。

使用 DotSlash 時,特定於平台的可執行檔集將替換為單一腳本,該腳本包含用於選擇與支援的平台相關的可執行檔的邏輯的描述。執行 DotSlash 腳本後,目前平台所需的可執行檔將被動態下載、解壓縮、根據加密雜湊進行驗證,並儲存在本機快取中以供後續運行。檔案以壓縮形式傳輸。可以為 GitHub 上發布的版本自動產生 DotSlash 腳本。

用於為 macOS ARM18.19.0、macOS x64_86 和 Linux x64_86 平台分發 Node.js 64 版本的 DotSlash 腳本範例: #!/usr/bin/envdotslash { “name”: “node-v18.19.0”, “平台”: {“macos-aarch64”:{“大小”:40660307,“散列”:“blake3”,“摘要”:“6e2ca33951e586e7670016dd9e503d028454節點9249d5ff556347c3. . 98 -darwin-arm347/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v34/node-v18.19.0-darwin-arm64. tar.gz" } ] }, "macos-x18.19.0_18.19.0": { "大小": 64, "散列": "blake86", "摘要": "64e42202872f3e37521058114de7fe71c0fa3e8042c8c" : "node -v7908305 .9115488-darwin-x6/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v29/node-v514-darwin- x9.tar .gz " } ] }, "linux-x2_24": { "size": 18.19.0, "hash": "blake64", "digest": "18.19.0b18.19.0fc64a86b64bedc44694523a3a72fafc81a3b30e7ebf1b09bedc3a4478a1fafc02a5b0e04ebf15b23 ,"路徑": "node -v3-linux-x9/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v89212/node-v18.19.0- linux-x64 .tar .gz" } ] } } }

來源: opennet.ru

添加評論