【发布时间】:2018-04-07 23:35:44
【问题描述】:
我正在用 Rust 创建一个库。在创建库时我输入
cargo new name
根据文档,这应该创建一个库,因为省略了 --bin。
但是,该文件会自动设置为二进制文件。
是否有一个设置我必须调整以禁用自动将所有项目设置为二进制?
【问题讨论】:
标签: rust rust-cargo
我正在用 Rust 创建一个库。在创建库时我输入
cargo new name
根据文档,这应该创建一个库,因为省略了 --bin。
但是,该文件会自动设置为二进制文件。
是否有一个设置我必须调整以禁用自动将所有项目设置为二进制?
【问题讨论】:
标签: rust rust-cargo
货物特性
Cargo 的 CLI 在这个版本中有一个非常重要的变化:
cargo new现在默认生成二进制文件,而不是库。我们试图让 Cargo 的 CLI 保持相当稳定,但这种变化很重要,不太可能导致损坏。对于某些背景,
cargo new接受两个标志:--lib,用于创建库,--bin,用于创建二进制文件或可执行文件。如果您不传递这些标志之一,在以前版本的 Cargo 中,它将默认为--lib。我们做出这个决定是因为每个二进制文件(通常)依赖于许多库,因此库案例更为常见。但是,这是不正确的;每个库都依赖于许多二进制文件。此外,在开始时,您通常想要的是一个可以运行和玩耍的程序。不过,这不仅仅是新的 Rustaceans。即使是很长时间的社区成员也表示,他们发现这种默认设置令人惊讶。因此,我们正在对其进行更改。
【讨论】:
cargo new --bin,原来如此,改变的是cargo new(没有任何标志)现在表现不同。如果你一直在使用标志,那么什么都不会改变。
自 Cargo 1.25 cargo new defaults to creating a binary crate, instead of a library crate.
cargo new 接受两个标志:--lib,用于创建库,--bin,用于创建二进制文件或可执行文件。
【讨论】: