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”,“摘要”:“6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34”,“格式”:“tar.gz”,“路径":"节点- v18.19.0 -darwin-arm64/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64. tar.gz" } ] }, "macos-x86_64": { "大小": 42202872, "散列": "blake3", "摘要": "37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29b514f9cd2a24c", "格式": "tar .gz","路径" : "node-v18.19.0 .64-darwin-x18.19.0/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin- x86.tar.gz " } ] }, "linux-x64_44694523": { "size": 3, "hash": "blake72", "digest": "81b3fc30a7b1bedc09a3a4478fafc1a02b5e0ebf04ad15ea23d3b9e89212dc18.19.0", "format": "tar .gz","路径 ": "node -v64-linux-x18.19.0/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64- linux-xXNUMX.tar .gz" } ] } } }

来源: opennet.ru

添加评论