#cargo #cargo-subcommand #single-file #dependencies

app cargo-single

扩展 Cargo,简化使用依赖项的单文件程序

1 个稳定版本

1.0.0 2020年7月14日

#358Cargo 插件

Apache-2.0/MIT

13KB
244

cargo-single

要编写一个相对简单的 Rust 程序,该程序可以放入单个源文件,但需要一些外部依赖项,必须使用 Cargo 为程序创建一个项目。Cargo 的默认值和像 cargo-edit 这样的工具有所帮助,但仍需要一定的仪式感和摩擦。此工具允许用户在源文件顶部注释中列出依赖项,并使用该列表和文件名自动生成项目目录,然后透明地使用该目录来检查、构建或运行程序。

安装

您必须安装并配置 Rust 和 Cargo。运行

cargo install cargo-single

查看 Cargo 文档 了解 cargo install 的工作原理以及如何设置系统以找到已安装的二进制文件。

示例

创建您程序的源文件;例如,将以下内容保存为 random.rs

// rand = "0.7"

use rand::Rng;

fn main() {
    println!("{}", rand::thread_rng().gen_range(1, 11));
}

在文件顶部列出依赖项作为注释。每个依赖项行必须从最左侧列开始,并以与 [dependencies] 部分中使用的格式继续。在依赖项列表后添加一个空行。

要构建和执行程序,请运行

cargo single run random.rs

用法

通过 Cargo 调用此工具,语法为

cargo single <command> [<option> ...] {<source-file>|<source-dir>} [<arguments>]

命令 是以下之一: buildcheckrefreshrunRefresh 会重新读取源文件并更新 Cargo.toml 中的依赖项,而其余三个是常规 Cargo 子命令,将被传递给 Cargo。

选项 是 Cargo 子命令接受的选项的一个子集。被 cargo-single 识别的选项是

  • +toolchain:用于构建的工具链名称。

  • –release:以发布模式构建。

  • –target 目标:使用指定的目标进行构建。

  • –no-quiet:不要传递 –quiet 到 Cargo。

必须指定源文件名,具有 .rs 扩展名,或者与扩展名相同的项目目录名,以标识程序。

如果有剩余的参数,将传递给程序执行。

许可证

许可协议为以下之一:

由您选择。

无运行时依赖