22 个版本
0.2.11 | 2024年8月8日 |
---|---|
0.2.10 | 2023年11月18日 |
0.2.9 | 2023年3月14日 |
0.2.7 | 2022年12月28日 |
0.1.3 | 2020年11月30日 |
#44 在 Cargo 插件 中
每月下载量 10,987
44KB
1K SLoC
cargo-quickinstall
cargo-quickinstall
类似于 Homebrew 的 Bottles (二进制包) 概念,但用于 cargo install
。
安装
cargo install cargo-quickinstall
支持 Windows、MacOS 和 Linux 的最新版本。
用法
当您通常需要编写类似
cargo install ripgrep
的内容时,现在可以写成
cargo quickinstall ripgrep
这将安装 crate 中任何二进制文件的预编译版本。如果没有预编译版本,它将自动回退到 cargo install
。
与 cargo-binstall
的关系
cargo-binstall
(从 0.6.2 版本开始)也能够从 cargo-quickinstall 的 GitHub 发布仓库中获取包。cargo-binstall
是一款优秀的软件。如果您在寻找桌面使用的东西,我推荐使用 cargo-binstall
。
在 CI 系统中的应用
如果您想在 CI 系统上安装 rust 包,可以使用 curl | tar
命令,直接从 cargo-quickinstall
的 GitHub 发布仓库安装。
$ cargo-quickinstall --dry-run ripgrep
将打印
"curl" "--user-agent" "cargo-quickinstall client ([email protected])" "--location" "--silent" "--show-error" "--fail" "https://github.com/cargo-bins/cargo-quickinstall/releases/download/ripgrep-13.0.0-x86_64-apple-darwin/ripgrep-13.0.0-x86_64-apple-darwin.tar.gz" | "tar" "-xzvvf" "-" "-C" "/Users/alsuren/.cargo/bin"
根据需要编辑命令,并将其粘贴到您的 CI 流程中。
支持的目标
检查 支持的目标,了解 quickinstall 可以为其构建的目标列表。
限制
不支持非默认功能。
目前 cargo-quickinstall
客户端只是一个华丽的 bash 脚本。
目前它假设您有访问权限
- tar
- curl
这两个都应该存在于所有最新的Windows和MacOS安装中。 curl
在大多数Linux系统中都可用,并且被rustup
安装说明所假定存在。我只计划在不会增加cargo install cargo-quickinstall
所需时间的情况下删除这些运行时依赖项(可能可以通过功能标志来完成?)。
还有一些基础设施也是这个项目的一部分
- 用于分发预构建二进制文件的服务器
- 我们使用github releases来处理。
- 用于收集报告的服务器
- 这是通过一个vercel服务器完成的,该服务器将计数保存到redis。
- 一个周期性任务,用于为每个操作系统/架构构建最常请求的包
- 请某人审计我的GitHub Actions沙箱方案。
贡献
目前有很多事情需要解决,所以现在是加入并帮助的最佳时机。我创建了一个Gitter房间来协作。您也可以在Twitter或Discord上联系@alsuren。我还愿意通过zoom进行配对,以帮助新贡献者入门。
当前的工作正在看板板上跟踪。如果您需要帮助分解票据,请在上面的任何一个地方向我呼喊。
发布
补丁版本的发布由makefile处理,因此可以通过以下方式完成
make release
如果您需要执行主要版本的升级,则复制粘贴Makefile中的命令。
一旦发布,请将相关信息发布在rust论坛、Reddit和Twitter上。
许可协议
版权(c)2020-2022 cargo-quickinstall开发者
cargo-quickinstall
可在MIT许可协议或Apache License 2.0的条款下提供,任选其一。
有关许可详情,请参阅LICENSE-APACHE和LICENSE-MIT文件。
依赖项
~2–12MB
~122K SLoC